在数据库中,GROUP BY子句用于根据一个或多个列对结果进行分组。它常用于与聚合函数一起使用,以便对每个组应用聚合函数。
语法如下:
SELECT 列1, 列2, ... 列n
FROM 表名
WHERE 条件
GROUP BY 列1, 列2, ... 列n
例如,假设有一个名为"orders"的表,其中包含以下列:order_id, customer_id, order_date, order_total。如果我们想要按顾客分组,并且计算每个顾客的订单总额,可以使用以下查询:
SELECT customer_id, SUM(order_total) as total_order_amount
FROM orders
GROUP BY customer_id
在这个例子中,我们按customer_id列分组,并使用SUM函数计算每个顾客的订单总额。结果将包含两列:customer_id和total_order_amount。
需要注意的是,GROUP BY子句中指定的列必须出现在SELECT子句中,或者是聚合函数的参数。否则,将会引发SQL语法错误。