sql分组统计多列值

select BQDM,sum(case when HFBZ=‘0‘ then 1 ELSE 0 end) bxschf,
sum(case when HFBZ=‘1‘ then 1 ELSE 0 end) xschf,
sum(case when HFBZ=‘2‘ then 1 ELSE 0 end) yschf,
sum(case when HFBZ=‘3‘ then 1 ELSE 0 end) xxghf
from T_ZYBR_INFO
group by BQDM

时间: 2024-10-11 23:21:11

sql分组统计多列值的相关文章

sql 分组统计查询并横纵坐标转换

关于sql 分组统计查询,我们在做报表的时候经常需要用到;今天就在这里整理下; 先附上一段sql代码: if object_id(N'#mytb',N'U') is not null drop table #mytbgodeclare @Year intset @Year=2014create table #mytb ([Date] int,[Count] int,[Price] decimal(18, 0),[spbm] varchar(50),[sppp] varchar(100),[spm

简单的sql分组统计

一个记录员工打卡时间的表,只有两个有效字段 员工名称,打卡时间,现在要统计某一天中,每个员工的打卡次数.最早打卡时间.最晚打卡时间,问sql怎么写? 其实这个sql很简单, 1.首先要明确既然是按每个员工统计每个员工的打卡时间,那么一定是按照员工名称分组,所以   可以得到 sql 片段1: group by name 2.要明确,我们需要的所有字段都应该出现在最外层的select 后面,不管是否分组 那么我们可以写出 sql片段2: select name,count(*),min(tdate

sql server统计字段的值在某些范围内中的个数

有一张表test如下: create table test ( id int identity(1,1) primary key, num int ) 插入数据: insert into test( num) values (1); insert into test( num) values (2); insert into test( num) values (8); insert into test( num) values (15); insert into test( num) valu

sql把相同条件的列值合并在一起,并用“;”分隔

SELECT distinct TEMP.vch_number,TEMP.vch_code,vch_name=stuff((select ';'+vch_name from TABLEB where (vch_number=TEMP.vch_number and vch_name<>'' ) for xml path('')),1,1,'') FROM #TBL_READ_NUMBER TEMP

oracle分组统计某列逗号隔开数据

所有版本的oracle都可以使用select wm_concat(name) as name from user; 但如果是oracle11g,使用select listagg(name, ',') within group( order by name) as name from user;效率更高,官方也更推荐这种写法.

SQL判断如果一列值为null则取另一列值代替 isnull()

SELECT TOP 1000 [chClientCode] ,[nvcClientName] ,[chRegionCode] ,isnull(chUltimateHeadClientCode,[chClientCode]) as chUltimateHeadClientCode FROM [PwCMDM_V1].[Core].[tblClient] Define: isnull(expression,replacement_value)

全废话SQL Server统计信息(2)——统计信息基础

接上文:http://blog.csdn.net/dba_huangzj/article/details/52835958 我想在大地上画满窗子,让全部习惯黑暗的眼睛都习惯光明--顾城<我是一个任性的孩子> 这一节主要介绍一些理论层面的东西,主要针对SQL Server,为后面的做铺垫.假设从实操层面考虑能够跳过,可是我强烈建议还是要找时间看一下这节.本节的内容例如以下: SQL Server统计信息 列级统计信息 统计信息与运行计划 统计信息与内存分配 开销预估模型 SQL Server统计

010.简单查询、分组统计查询、多表连接查询(sql实例)

-------------------------------------day3------------ --添加多行数据:------INSERT [INTO] 表名 [(列的列表)] --SELECT UNION --SELECT 'HAHA',1,32--UNION ALL --全部显示/显示重复数据 即使集合相同--UNION---------将查询的两个结果集合并.结构必须一致 -->常见面试题 --SELECT 'HEHE',2,33------将查询结果添加到列表中(子查询)IN

SQL语句——08、聚集,分组,行转列

常用聚集函数 是对一组或一批数据进行综合操作后返回一个结果,如下: count 行总数 avg 平均数 sum 列值和 max 最大值 min 最小值 用法说明 count([{distinct|all} '列名'|*) 为列值时空不在统计之内,为*时包含空行和重复行 idle> select count(comm) from emp; COUNT(COMM) ----------- 4 idle> select count(ename) from emp; COUNT(ENAME) ----