2012-02-17 2 views
2

Я хочу, чтобы отобразить результаты, такие, что:SQL: заказ по кол-ву из другой таблицы с условием

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

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».

Понял !:

Пришлось поменять строки с моей статьей ЗАКАЗА:

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

ответ

4

Вы проверить результаты агрегатной функции с 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) 
+0

Спасибо! Если бы мои предложения ORDER и HAVING были в неправильном порядке. – Bubnoff