今天在做mysql分组查询的时候遇到一个问题:
我需要把数据分组排序,于是就想到先group by 然后 order by,可是运行的时候报错
于是查资料发现group by 与order by 一起使用是要遵守一定原则的:
1.order by 的列,必须是出现在group by 子句里的列
例如:
SELECT dep.department_name, MAX(emp.salary), MIN(emp.salary)
FROM departments dep
LEFT JOIN employees emp
ON (dep.department_id = emp.department_id)
GROUP BY dep.department_name
ORDER BY dep.department_name DESC
2.order by 要 放在 group by的 后面
参考链接:http://lzfhope.blog.163.com/blog/static/636399220092554045196/