req\u type-wise count id

watbbzwu  于 2021-06-25  发布在  Mysql
关注(0)|答案(3)|浏览(292)

我有一个sql查询问题。我不想对同一个结果执行三次查询。
在我的表中有一个字段 req_type 有三个参数,1,2,3。
我想在一个查询中使用基于请求类型的计数器,而不是像下面这样执行查询3次

select count(id) as premium FROM tablename where req_type=1
select count(id) as premium1 FROm tablename where req_type=2
select count(id) as premium2 FROm tablename where req_type=3

我卡住了,有人能帮我吗?

iugsix8n

iugsix8n1#

使用 GROUP BY ```
SELECT req_type, COUNT(id) AS count_premium
FROM tablename
GROUP BY req_type;

rkue9o1l

rkue9o1l2#

使用一个查询,而不是使用 group by 克莱斯

select req_type , count(id) as premium 
FROM tablename 
where req_type in (1,2,3)
group by req_type
nwnhqdif

nwnhqdif3#

你可以用 case 对于这种类型的计数

select sum(case when req_type=1 then 1 else 0 end) as premium,
sum(case when req_type=2 then 1 else 0 end) as premium1,
sum(case when req_type=3 then 1 else 0 end) as premium2
FROM tablename

相关问题