SQL Server Количество - PullRequest
       3

SQL Server Количество

2 голосов
/ 25 октября 2010

Я пытаюсь получить количество заказов для каждого типа заказа (OrderTypeID) и количество заказов для каждого типа заказа отдельных продуктов (productID) например:

OrderID, OrderTypeID, ProductID
1, 1, 1
2, 1, 6
3, 2, 6
4, 1, 1
5, 2, 6
6, 2, 6
7, 2, 6
8, 3, 1

Результат:

OrderTypeID, Count1, Count2
1, 3, 2
2, 4, 1
3, 1, 1

В настоящее время я получаю count1, но не могу получить правильный результат для count2.

Упрощенная версия моего запроса:

SELECT
    Order.OrderTypeID,
    COUNT(Order.OrderTypeID) AS 'Count1'
FROM 
    Order
GROUP BY Order.OrderTypeID

Очень ценю любую помощь.

Ответы [ 2 ]

2 голосов
/ 25 октября 2010
SELECT
    Order.OrderTypeID,
    COUNT(Order.OrderTypeID) AS 'Count1',
    COUNT(distinct Order.ProductID) as 'Count2'

FROM 
    Order
GROUP BY Order.OrderTypeID
2 голосов
/ 25 октября 2010

Использовать DISTINCT:

SELECT
    Order.OrderTypeID,
    COUNT(Order.OrderTypeID) AS 'Count1'
    COUNT(DISTINCT Order.OrderTypeID) AS 'Count2'
FROM 
    Order
GROUP BY Order.OrderTypeID
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...