mysql case when then返回sum
时间: 2023-10-09 20:10:40 浏览: 114
你可以使用 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"。
请注意,你可以根据实际需求添加更多的条件和列。这只是一个基本示例。
相关问题
mysql case when赋值
在MySQL中,使用CASE WHEN语句可以根据条件对某个字段进行赋值。在引用的示例中,使用了简单的CASE语句对表中的DLMC字段进行了条件匹配,并根据匹配结果对不同的字段进行赋值。具体的SQL语句如下所示:
```
SELECT QSDWMC,
SUM(CASE WHEN DLMC ='水田' THEN TBMJ ELSE 0 END) AS 水田,
SUM(CASE WHEN DLMC ='旱地' THEN TBMJ ELSE 0 END) AS 旱地,
SUM(CASE WHEN DLMC ='公路用地' THEN TBMJ ELSE 0 END) AS 公路用地
FROM DLTB
```
这个查询语句根据DLMC字段的不同取值,对TBMJ字段进行求和并赋值给不同的别名字段。当DLMC字段的值等于"水田"时,相应的TBMJ值将被累加到"水田"字段中;当DLMC字段的值等于"旱地"时,相应的TBMJ值将被累加到"旱地"字段中;当DLMC字段的值等于"公路用地"时,相应的TBMJ值将被累加到"公路用地"字段中。其他情况下,使用0进行填充。最后,通过使用SUM函数对不同的字段进行求和,可以得到每个类型的土地面积总和。
希望以上解答对您有帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [mysql存储过程之case语句用法实例详解](https://blog.csdn.net/weixin_31301993/article/details/114327258)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [CASE WHEN 条件赋值](https://blog.csdn.net/oysqtlmy/article/details/123871640)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
mysql case when count
根据引用和引用的内容,MySQL的CASE WHEN语句可以用于根据条件来统计数据。具体地说,在数据库中,可以使用CASE WHEN来对某个条件进行判断,并根据条件的成立与否返回相应的字段信息。引用提供了一个示例,展示了如何使用CASE WHEN统计刷脸签到总数、系统代签总数以及每天的总签到数。
例如,在上课记录表中,可以使用以下SQL语句来实现这个统计:
SELECT create_time, COUNT(1) total_count, -- 上课总签到数
SUM(CASE WHEN sign_type = 2 THEN 1 ELSE 0 END) face_count, -- 刷脸签到数
SUM(CASE WHEN sign_type = 1 THEN 1 ELSE 0 END) work_count -- 系统代签总数
FROM course_record
WHERE create_time >= '2022-08-24'
GROUP BY DATE_FORMAT(create_time, '%Y-%m-%d')
这个SQL语句会根据create_time字段进行分组,并统计每天的上课总签到数、刷脸签到数以及系统代签总数。其中,CASE WHEN语句根据sign_type字段的值进行判断,当sign_type等于2时,表示刷脸签到,将对应的记录计入刷脸签到数(face_count);当sign_type等于1时,表示系统代签,将对应的记录计入系统代签总数(work_count)。总签到数(total_count)则是所有签到记录的数量。
这样,可以通过执行以上SQL语句来得到所需的统计结果。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)