Как задать максимальный и минимальный размеры группы, чтобы получить записи, где count < 5 и count > 2?
На данный момент использую такой запрос:
SELECT id, info, COUNT(*) as count
FROM notification
GROUP BY info ORDER BY count DESC;
Пример:
+----+-------+
| id | info |
+----+-------+
| 1 | Admin |
| 2 | User |
| 3 | User |
| 4 | User |
| 5 | User |
| 6 | User |
| 7 | Admin |
| 8 | Admin |
| 9 | Test |
| 10 | Test |
+----+-------+
Желаемый вывод:
+----+-------+--------+
| id | info | count |
+----+-------+--------+
| 1 | Admin | 3 |
+----+-------+--------+
Ответ
Используйте параметр HAVING
SELECT id, info, COUNT(*) as count
FROM notification
GROUP BY info
HAVING count(*) > 2
and count(*) < 5
ORDER BY count DESC;
Пример на sqlfiddle
Комментариев нет:
Отправить комментарий