mysql case 语句应用举例
时间: 2023-07-25 13:44:24 浏览: 79
MySQL中的CASE语句可以根据条件执行不同的操作,常用于数据的分组和统计。下面是一个简单的例子:
假设有一个表格orders,其中包含了用户下单的信息,包括订单号order_id、下单用户user_id、订单金额amount和下单时间create_time等字段。现在我们需要统计每个用户的订单总金额,并按照金额从高到低排序。
可以使用以下SQL语句实现:
```
SELECT user_id, SUM(amount) AS total_amount
FROM orders
GROUP BY user_id
ORDER BY total_amount DESC;
```
但是如果我们想要按照每个用户的订单总金额进行分类,比如将总金额小于100的用户分类为“小客户”,将总金额在100到1000之间的用户分类为“中客户”,将总金额大于1000的用户分类为“大客户”,该怎么办呢?
这时就可以使用CASE语句了,具体实现如下:
```
SELECT user_id,
CASE
WHEN SUM(amount) < 100 THEN '小客户'
WHEN SUM(amount) BETWEEN 100 AND 1000 THEN '中客户'
ELSE '大客户'
END AS customer_type,
SUM(amount) AS total_amount
FROM orders
GROUP BY user_id
ORDER BY total_amount DESC;
```
上面的SQL语句中,使用CASE语句根据SUM(amount)的值将用户分为不同的等级,并将结果命名为customer_type。最后按照total_amount排序输出结果。
希望这个例子能够帮助你理解MySQL中CASE语句的应用。
阅读全文