A. sqlserver怎么实现同一个表中多个count查询并且分组并且统计总数
可以有两种解决方法,
所需工具:SQL
查询两个count的方法1:
SELECT paperName , COUNT (1) AS 总题数 , sum (CASE WHEN statu = 1 THEN 1 ELSE 0 END) AS 审核题数FROM questionGROUP BY paperNme
查询两个count的方法2:
select s.总题数, s.审核题数, s.paperNamefrom (select COUNT(1) as 总题数, case when status = 1 then count(1) else 0 end as 审核题数, paperNamefrom question--where papername in (select distinct paperName from question), 这个条件可以不要了group by paperNme, stauts -- status也要作为分组字段,因为在case中有使用) s
B. sqlserver如何根据日期进行分组查询
日期分组的概念,就是把日期所在的字段,转换为 一个人日期类型,然后group by
sqlserver日期分组相关知识
selectconvert(varchar,dateinfo,111)asa,sum(***)fromtableName
groupbyconvert(varchar,dateinfo,111)
请参阅,如有疑问,及时沟通!
谢谢!
C. sqlserver语句,按周分组统计数据,请各位大神指教小弟。
---把getdate()替换成你的日期字段就可以了, between and的2个日期分别是你说的2个年头年尾的情况
select case when getdate()>=cast('2014/1/1' as datetime) then datepart(week,getdate()) else 1 end as 第几周
--from table_name
where getdate() between (case when datepart(weekday,cast('2014/1/1' as datetime))<>1 then
cast('2014/1/1' as datetime)-datepart(weekday,cast('2014/1/1' as datetime))+2
end )
and
(case when datepart(weekday,cast('2014/12/31' as datetime))<>6 then
cast('2014/12/31' as datetime)-datepart(weekday,cast('2014/12/31' as datetime))+1
end )
D. sqlserver 分组统计
select部门字段名,sum(casesexwhen‘男’then1else0end)as'男',女=sum(casesexwhen‘女’then1else0end)
fromstudentgroupby部门字段名
别的都一样了~
E. sqlserver 分组之后 拼接新字段 如下:
Select B.人员ID,B.人员名称,Left(TempInfo,LEN(TempInfo) - 1) AS 新字段 From
(Select 人员ID,人员名称,(Select 人员的儿女 + '-' + 儿女岁数 +',' From 人员 Where 人员ID = A.人员ID For XML Path('')) AS TempInfo
From 人员 A
Group By 人员ID,人员名称) B
这个就是你要的。