выберите Отличительный TSQL с итогами различных - PullRequest
1 голос
/ 22 августа 2011

Я собираюсь составить отчет, который выберет все отдельные элементы в строке и предоставит итоги каждого результата

SELECT DISTINCT [Column 16] FROM [tab]

и вот как далеко заходит мой TSQL

Ответы [ 2 ]

4 голосов
/ 22 августа 2011

Вы ищете

SELECT [Column 16], COUNT(*) 
FROM [tab]
GROUP BY [Column 16]
--WITH ROLLUP (if you need to the total )
ORDER BY COUNT(*) 

Вы можете добавить ключевое слово DESC в конец запроса, т. Е. ORDER BY COUNT(*) DESC, если хотите, чтобы ваш набор результатов был упорядочен по убыванию, или ASC для возрастания (возрастание по умолчанию, вы можете его опустить).

0 голосов
/ 22 августа 2011

Когда вы GROUP BY, вы получаете отдельный список [Колонка 16]. Тогда вы можете использовать агрегатную функцию с ним.

SELECT [Column 16], Sum ( [Column To Sum] ) Total_T1
FROM [tab]
Group By [Column 16]

Если вы хотите сгруппировать по нескольким столбцам, они должны появиться в выборке и в GROUP BY

SELECT [Column 16], [Column 17], Sum ( [Column To Sum] ) Total_T1
FROM [tab]
Group By [Column 16], [Column 17]

Также можно указать несколько агрегаций (они не отображаются в предложении group by

SELECT [Column 16], [Column 17], 
      Sum ( [Column To Sum] ) Total_T1,
      Count ( [Column To Sum] ) NumOf_T1,
      Avg ( [Column To Sum] ) Avg_T1,
      Min ( [Column To Sum] ) Min_T1,
      Max ( [Column To Sum] ) Max_T1
FROM [tab]
Group By [Column 16], [Column 17]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...