一、WITH ROLLUP
使用 WITH ROLLUP可以对聚合函数进行求和。
注意 :WITH ROLLUP是对 GROUP BY后的第一个字段,进行分组求和,不能和ORDER BY一起使用。
示例:
- 对emp按照dpt_id进行分组并求出每个部门的薪资之和,并合计总量:
SELECT IFNULL(dpt_id, '综合') AS dpt, SUM(salary)
FROM emp
GROUP BY dpt_id WITH ROLLUP
二、CHAR_LENGTH
示例:
- 找出书名中字数最多的一本书,不含空格
SELECT *
FROM books
ORDER BY CHAR_LENGTH(REPLACE(name,' ','')) DESC
LIMIT 0, 1;