mysql - 如何计算数据库中列的值
问题描述
我有一个类似于下面这个数据库并且是 SQL 编程的新手,我如何计算 SQL 查询中状态列中有多少“新”和“处理”值?
table name : sample_table
-------------------
id| name | status |
-------------------
1.| Ben | new
2.| Alfred | processing
3.| Jarvis | new
4.| Leroy | processing
5.| Darnel | processing
解决方案
您可以使用sum()
来计算您的条件成立的次数。
在 MYSQL 中,您可以使用:
select sum(status = 'processing') as pCount,
sum(status = 'new') as nCount
from sample_table
或在其他数据库引擎中:
select sum(case when status = 'processing' then 1 else 0 end) as pCount,
sum(case when status = 'new' then 1 else 0 end) as nCount
from sample_table
推荐阅读
- go - 如何隔离关闭1006(异常关闭):意外EOF
- marklogic - 将存储为二进制的 XML 文档转换为 XML?
- css - 仅将黑色部分更改为彩色图片的白色
- c# - 将从数据库(sql)中检索到的数据放在表中,并在 c# 中使用 KEY 和 VALUE
- javascript - reactjs-popup 弹出窗口的自定义样式
- c++ - 从字符串中删除空格不生效
- xcode - Xcode 不会打开任何项目
- wordpress - 我的 wordpress 网站中的社交媒体链接的字体真棒不起作用(出现空白方框)
- state - '在视图更新期间修改状态,这将导致未定义的行为。' 在文本字段上键入时出错 (SwiftUI)
- javascript - 如何访问处理不同输入的数据属性?