% :匹配任意数目的字符,包括 0 个字符
_:匹配任意一个字符
去重:DISTINCT
SELECT DISTINCT s_id FROM fruits;
order by排序:
多列排序
SELECT f_name, f_price FROM fruits ORDER BY f_name, f_price;
注意:第一列有相同值,才会对第二列进行排序。
group by:按照指定的字段分组,相同字段分为一组,通常和聚合函数一起使用
基本格式 GROUP BY 字段名 [HAVING 条件表达式]
SELECT s_id, COUNT(*) AS total FROM fruits GROUP BY s_id HAVING total > 1;
WITH ROLLUP 关键字 统计记录数量,必须跟在GROUP BY后面
SELECT s_id, COUNT(*) AS total FROM fruits GROUP BY s_id WITH ROLLUP HAVING total > 1;
GROUP BY 也可以对多个字段进行分组,先按第一个字段分组,在第一个字段相同的记录中,再按后面的字段分组
SELECT s_id, f_name FROM fruits GROUP BY s_id, f_name;
ROLLUP 跟 ORDER BY 互斥,不能同时使用
LIMIT: LIMIT 4,3 表示从第5行(第一行偏移量为0)开始展示,一共展示三行
聚合函数
- COUNT(*) 计算表中总的行数,不管某列有没有空值。 COUNT(字段名) 计算指定列下总的行数,忽略空值
- SUM(字段名) :计算 返回指定列 值的总和 忽略空值
- AVG(字段名):求平均值
- MAX(字段名)
- MIN(字段名)