SQL: порядок по количеству из другой таблицы с условием - PullRequest
2 голосов
/ 18 февраля 2012

Я хочу отобразить результаты так, что:

номер записи упорядочен по количеству прикрепленных к нему элементов

IF

количество прикрепленных элементов большечем 100

SELECT r.number,
       r.title,
       COUNT(i.itemnumber)
FROM record r
LEFT JOIN items i ON (r.number = i.number)
WHERE r.title REGEXP 'SQL for idiots'
AND COUNT(i.itemnumber) > 100
GROUP BY r.number
ORDER BY COUNT(i.itemnumber)

Это приводит к старому:

ОШИБКА 1111 (HY000): неверное использование групповой функции

Я пробовал предложение 'HAVING' безлибо удачи.

Понял!:

Пришлось поменять строки с моим предложением ORDER:

HAVING COUNT(i.itemnumber) > 100
ORDER BY COUNT(i.itemnumber)

1 Ответ

4 голосов
/ 18 февраля 2012

Вы тестируете результаты агрегатной функции с предложением HAVING.

SELECT r.number,
       r.title,
       COUNT(i.itemnumber)
FROM record r
LEFT JOIN items i ON (r.number = i.number)
WHERE r.title REGEXP 'SQL for idiots'
GROUP BY r.number
HAVING COUNT(i.itemnumber) > 100
ORDER BY COUNT(i.itemnumber)
...