• Подзапросы. Сколько разных товаров заказывал каждый покупатель (по ФИО) в 1995 году?

    @alexalexes
    Вы просто не освоили group by. Те поля (или хитровычисляемые значения), которые не получены при помощи агрегированных функций, используемые в select и требуют группировки, нужно прописать в group by.
    Чтобы count считал уникальные значения по конечной выборке, не по числу строк, в него прописывают поле или выражение, которое будет определять, как идентифицировать уникальную часть выборки.
    SELECT O.CustomerID, C.ContactName, Count(distinct Od.ProductID) as Product_Unique_Count
                FROM Orders as O
                join Custimers as C on O.CustomerID = C.CustomerID
                join [Order Details] as Od on Od.OrderID = O.OrderID
                WHERE YEAR(O.OrderDate) = 1995
    group by O.CustomerID, C.ContactName
    Ответ написан
    1 комментарий