Вершина Выбора SQL частые записи

У меня есть следующая таблица:

Table
+----+------+-------+
| ID | Name | Group |
+----+------+-------+
| 0  |   a  |   1   | 
| 1  |   a  |   1   | 
| 2  |   a  |   2   |
| 3  |   a  |   1   |
| 4  |   b  |   1   |
| 5  |   b  |   2   |
| 6  |   b  |   1   |
| 7  |   c  |   2   |
| 8  |   c  |   2   |
| 9  |   c  |   1   |
+----+------+-------+

Я хотел бы выбрать лучшие 20 отличных имен из определенной группы, приказанной самым частым именем в той группе. Результат для этого примера для группы 1 возвратился бы a b c (-3 случаев, b - 2 случаев и c - 1 возникновение).

Спасибо.

5
задан marc_s 18 December 2009 в 11:35
поделиться

3 ответа

SELECT TOP(20) [Name], Count(*) FROM Table
WHERE [Group] = 1
GROUP BY [Name]
ORDER BY Count(*) DESC
13
ответ дан 18 December 2019 в 07:54
поделиться
SELECT Top(20) 
   name, group, count(*) as occurences
FROM yourtable
GROUP BY name, group
ORDER BY count(*) desc
5
ответ дан 18 December 2019 в 07:54
поделиться
SELECT
    TOP 20
    Name,
    Group,
    COUNT(1) Count,
FROM
    MyTable
GROUP BY
    Name,
    Group
ORDER BY
    Count DESC
2
ответ дан 18 December 2019 в 07:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: