当使用 GROUP BY 时,通常是基于某些共同特征对数据进行分组,并对每个组的数据进行聚合计算。以下是一个简单的示例,用于说明 GROUP BY 特征的作用:
假设我们有一个销售订单表(orders),其中包含以下列:订单号(order_id)、客户姓名(customer_name)、订单金额(order_amount)、订单日期(order_date)等。
订单表数据示例:
-- 以下是给出订单表数据示例的SQL语句
CREATE TABLE orders (order_id INT,customer_name VARCHAR(50),order_amount DECIMAL(10, 2),order_date DATE
);INSERT INTO orders (order_id, customer_name, order_amount, order_date)
VALUES(1, 'Alice', 100.00, '2022-01-01'),(2, 'Bob', 150.00, '2022-01-01'),(3, 'Alice', 200.00, '2022-01-02'),(4, 'Bob', 75.00, '2022-01-02');
order_id | customer_name | order_amount | order_date |
---|---|---|---|
1 | Alice | 100.00 | 2022-01-01 |
2 | Bob | 150.00 | 2022-01-01 |
3 | Alice | 200.00 | 2022-01-02 |
4 | Bob | 75.00 | 2022-01-02 |
现在,如果我们想要计算每位客户的订单总金额,可以使用 GROUP BY 来实现:
SELECT customer_name, SUM(order_amount) AS total_order_amount
FROM orders
GROUP BY customer_name;
执行以上 SQL 查询后,将得到以下结果:
customer_name | total_order_amount |
---|---|
Alice | 300.00 |
Bob | 225.00 |
在这个示例中,我们使用 GROUP BY customer_name 将订单表中的数据按照客户姓名进行分组,并对每个组的订单金额进行求和,得到了每位客户的订单总金额。这突出了 GROUP BY 的特征,可以根据共同特征对数据进行分组,并对每个组进行聚合计算。