- 创建分组
SELECT ——,COUNT(*) AS ——
FROM ——
GROUP BY ——;
得到SELECT之后该空对应的数据行数
GROUP BY子句指示按其后面的空排序并分组数据
GROUP BY子句必须出现在WHERE子句之后、ORDER BY子句之前 - 过滤分组
SELECT ——,COUNT(*) AS ——
FROM ——
GROUP BY ——
HAVING COUNT(*)>=m;
该语句相比创建分组语句过滤了COUNT(*)大于等于m的分组
WHERE过滤行,HAVING过滤分组;二者可以同时使用
WHERE在数据分组前进行过滤,HAVING在数据分组后进行过滤 - 分组和排序
SELECT order_num,SUM(quantity*item_price) AS ordertotal
FROM orderitems
GROUP BY order_num
Having SUM(quantity*item_price)>=50
ORDER BY ordertotal;
在此例中,GROUP BY子句用来按订单号分组数据,以便SUM(*)函数返回总计订单价格。HAVING子句过滤数据,使得只返回总计订单价格大于等于50的订单,最后用ORDER BY子句排序输出 - SELECT子句顺序
SELECT 要返回的列或表达式
FROM 从中检索数据的表
WHERE 行级过滤
GROUP BY 分组说明
HAVING 组级过滤
ORDER BY 输出排序顺序
LIMIT 要检索的行数
MYSQL学习笔记(九)分组数据
最新推荐文章于 2021-01-30 18:34:46 发布