mysql中的sum (case when)语句怎么写
时间: 2023-06-01 18:03:13 浏览: 94
语法如下:
```
SELECT SUM(CASE WHEN condition THEN value ELSE 0 END) FROM table_name;
```
其中,condition是条件表达式,value是需要被求和的字段或表达式,table_name是需要进行操作的表名。在条件表达式中,可以使用比较运算符(如=、<、>)和逻辑运算符(如AND、OR、NOT)。
例如,如果需要统计表orders中所有订单中价值大于1000的商品数量,可以使用如下语句:
```
SELECT SUM(CASE WHEN value > 1000 THEN 1 ELSE 0 END) FROM orders;
```
该语句将返回一个整数,表示符合条件的商品数量。
相关问题
mysql sql语句 case when
MySQL 中的 `CASE WHEN` 是一个条件表达式,它用于根据指定的条件返回不同的值。这个语句结构通常用于 `SELECT` 语句中,对查询结果进行条件判断和分组处理。基本语法如下:
```sql
CASE
WHEN condition THEN result_1
[WHEN condition THEN result_2]
...
ELSE default_result
END as column_name
```
这里的 `condition` 是需要检查的布尔表达式,如果该条件成立,就返回 `result_1`;如果没有匹配到的 `WHEN` 条件,就会执行 `ELSE` 子句给出的默认结果。
例如,假设有一个表 `sales`,我们想计算每个员工的销售金额,如果达到目标则标记为 "达标",否则为 "未达标":
```sql
SELECT
employee_id,
SUM(sales_amount) as total_sales,
CASE
WHEN total_sales >= target_sales THEN '达标'
ELSE '未达标'
END as sales_status
FROM
sales
GROUP BY
employee_id;
```
mysql case when then返回sum
你可以使用 MySQL 中的 CASE WHEN THEN 语句来返回 SUM 值。以下是一个示例查询,将根据条件对不同的行进行求和:
```sql
SELECT
SUM(CASE
WHEN condition1 THEN column
WHEN condition2 THEN column
ELSE 0
END) AS sum_value
FROM your_table;
```
在上面的查询中,你需要将 "condition1" 和 "condition2" 替换为你自己的条件,"column" 替换为你想要求和的列名,"your_table" 替换为你要从中检索数据的表名。SUM 函数将根据条件对符合条件的行进行求和,并将结果命名为 "sum_value"。
请注意,你可以根据实际需求添加更多的条件和列。这只是一个基本示例。
阅读全文