牛骨文教育服务平台(让学习变的简单)
博文笔记

SQL一次性查询一个字段不同条件下的统计结果

创建时间:2016-06-26 投稿人: 浏览次数:11064

需求有如下的界面
这里写图片描述

一次、两次、三次是同一个字段的不同值下的记录条数。

查询一个一列数据可以使用下面的SQL语句。

select 
COUNT(*)
from 
shuili_company a
where 
a.check_number_ = 1
and
a.is_delete = 0 
from shuili_company GROUP BY province_

如果想用一条SQL语句将一次两次三次的同时查出来,可以使用下面的方式:

select province_, 
ifnull(
(select 
COUNT(*)
from 
shuili_company a
where 
a.check_number_ = 1
and
a.is_delete = 0 
AND
a.province_ = shuili_company.province_
)
,0) as row1,
ifnull(
(select 
COUNT(*)
from 
shuili_company a
where 
a.check_number_ = 2
and
a.is_delete = 0 
AND
a.province_ = shuili_company.province_
),0
) as row2,
ifnull((
select 
COUNT(*)
from 
shuili_company a
where 
a.check_number_ = 3
and
a.is_delete = 0 
AND
a.province_ = shuili_company.province_
),0) as row3,
ifnull((select 
COUNT(*)
from 
shuili_company a
where 
a.sel_eval_number_ = 1
and
a.is_delete = 0 
AND
a.province_ = shuili_company.province_
),0) as row4
from shuili_company GROUP BY province_
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。