Подсчитать количество строк
Объясните, пожалуйста, как найти самую частую строку в таблице или просто подсчитать частоту каждой строки. В данном случае 'Peter', без использования циклов и редких выражений. В основном надо использовать что-то из этого (having, top, group, order, count, max, sum, in)
CREATE TABLE t(n nvarchar(10))
INSERT INTO t (n) VALUES
('Andrey'),('Alexey'),('Ivan'),('Peter'),('Ivan'),
('Peter'),('Ivan'),('Peter'),('Misha'),('Peter')
Не подходит, т.к. цифра 1 задана вручную
SELECT n
FROM t
group by n
HAVING Count(n)>1
Не подходит, т.к. ошибка в построении типов
select n
from (select n from (select n from t group by n) order by id)
having max (count(n))
Ответы (1 шт):
Автор решения: teran
→ Ссылка
вам надо группировать по имени и считать количество. потом по этому количеству отсортировать и взять только первый результат.
SELECT TOP 1 n
FROM t
GROUP BY n
ORDER BY count(n) DESC