分组操作的目的:就是为了统计.
分组的关键字: GROUP BY.
分组筛选:用 HAVING进行条件筛选.
常见的分组:分组统计,分组排序,多分组统计,回溯统计、统计筛选.
- 分组统计 :查询时在 WHERE条件后添加 GROUP BY即可进行分组统计
SELECT [select选项] 字段列表 FROM 数据表名 [WHERE 条件表达式] GROUP BY 字段名;
通过聚合函数MAX()获取每个分类下商品的最高价格
Select category_id,max(price) From sh_goods Group By category_id;
- 分组排序:默认分组操作的字段提供按升序排序,因此在分组时可为指定的字段进行升序或降序排序
SELECT [select选项] 字段列表 FROM 数据表名 [WHERE 条件表达式] GROUP BY 字段名 [ASC|DESC];
GROUP BY分组排序的实现不需要使用 ORDER BY,直接在分组字段后添加ASC(升序,默认值可省略)或DESC(降序)即可.
根据 sh_goods表中的分类id进行分组降序操作
Select category_id,Group_concat(id),Group_concat(name) From sh_goods Group By category_id Desc;