Группировка по месяцам, типу и категории SQL Server - PullRequest
0 голосов
/ 04 декабря 2018

Как я могу создать запрос SQL Server, используя группу по месяцу, имени и количеству?Можно ли группировать по значениям поля и столбца?В приведенном ниже примере мне также нужно сгруппировать кошек и собак в категорию животных, но остальные могут быть такими же, как в примере.

Таблица:

table

Мой результат:

result

Что я сделал:

SELECT 
    CONVERT(CHAR(8), Date, 112) AS 'Date', 
    Product.Type AS 'Type',
    COUNT(DISTINCT Product.Id) AS 'Count',
    Product.Operation AS 'Operation'
FROM 
    Product 
GROUP BY 
    Product.Type, Product.Operation, CONVERT(CHAR(8), Product.Date, 112) 
ORDER BY 
    Product.Type

Любая помощь?

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

Что-то вроде:

SELECT 
  convert(char(8), [Date], 112) as 'Date'
  , case when P.[Type] in ('Cat', 'Dog') then 'Animal' else P.[Type] end AS 'Type'
  , COUNT(DISTINCT P.Id) AS 'Count'
  , P.Operation AS 'Operation'
FROM dbo.Product P
GROUP BY case when P.[Type] in ('Cat', 'Dog') then 'Animal' else P.[Type] end, P.Operation, Convert(char(8), [P.Date], 112) 
ORDER BY case when P.[Type] in ('Cat', 'Dog') then 'Animal' else P.[Type] end
0 голосов
/ 04 декабря 2018

Можете ли вы рассказать немного больше о поле «Имя», а также о поданном количестве.

Допущения: поле имени => тип и количество => количество

Возможноерешение:

SELECT Month([Date]), [Name]=type, Quantity=count(*)
FROM Product
GROUP BY Month([Date]), type
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...