分组(GROUP BY)
GROUP BY 语句用于结合聚合函数,根据一个或多个列对结果集进行分组。例如,假设你有一个包含销售数据的表,并且你想按产品类别计算总销售额。你可以使用 GROUP BY 和 SUM() 函数来实现这一点。
SELECT product_category, SUM(sale_amount) as total_sales
FROM sales_table
GROUP BY product_category;
在这个例子中,product_category 列的值用于分组,SUM(sale_amount) 计算每个组的总销售额。
排序(ORDER BY)
ORDER BY 语句用于对结果集进行排序。你可以根据一个或多个列进行排序,并指定升序(ASC)或降序(DESC)。
SELECT * FROM sales_table
ORDER BY sale_date DESC;
在这个例子中,结果集将根据 sale_date 列的值降序排序,最新的销售记录将首先显示。
分组和排序的结合使用
你还可以结合使用 GROUP BY 和 ORDER BY。例如,你可以首先按产品类别分组计算总销售额,然后按总销售额降序排序。
SELECT product_category, SUM(sale_amount) as total_sales
FROM sales_table
GROUP BY product_category
ORDER BY total_sales DESC;
在这个例子中,结果集首先按 product_category 分组,然后计算每个组的总销售额,最后按 total_sales 降序排序。
注意事项
当使用 GROUP BY 时,SELECT 语句中的非聚合列必须出现在 GROUP BY 子句中。 排序操作(ORDER
BY)通常在查询的最后进行,即在所有其他操作(如分组、过滤等)之后。