我想显示结果:
记录编号按附加的项目数排序
如果
附加的项目数量大于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)
这引发了旧的:
ERROR 1111(HY000):无效使用群组功能
我尝试了一个没有运气的'HAVING'条款。
知道了!:
必须用我的ORDER子句交换行:
HAVING COUNT(i.itemnumber) > 100
ORDER BY COUNT(i.itemnumber)
答案 0 :(得分: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)