首页 > 解决方案 > 如何计算数据库中列的值

问题描述

我有一个类似于下面这个数据库并且是 SQL 编程的新手,我如何计算 SQL 查询中状态列中有多少“新”和“处理”值?

table name : sample_table
-------------------
id|  name  | status |
-------------------
1.|  Ben   |   new
2.| Alfred |  processing
3.| Jarvis |  new
4.| Leroy  |  processing
5.| Darnel |  processing

标签: mysqlsql

解决方案


您可以使用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

推荐阅读