当前位置:首页 » 编程语言 » sqlserver分类统计
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sqlserver分类统计

发布时间: 2022-05-11 14:16:56

1. sqlServer怎么做复杂的统计

1、先做个函数,用来将字符串按分隔符(;)进行分解-->到Table
CREATE FUNCTION uf_strSplit(@str)
RETURNS list TABLE (
word NVarchar(100)

)

2、再利用这个分解函数,进行统计

2. sqlserver 分类汇总

selectt1.shop,sum(t1.qty)asqty,t2.sum_qtyfrom表名ast1,
(selectsum(qty)assum_qtyfrom表名)ast2
groupbyt1.shop,t2.sum_qty

时间条件你自己加一下吧,应该没问题吧?

3. sql分类统计个数

select 一,count(一) as 个数 from XXX group by 一

4. 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

5. sqlserver 分组统计

select部门字段名,sum(casesexwhen‘男’then1else0end)as'男',女=sum(casesexwhen‘女’then1else0end)

fromstudentgroupby部门字段名

别的都一样了~

6. sqlserver怎么按周来统计数据

指定一个起始日,计算到该日的天数,/7 得到经过的周数。然后按这个周数分组。

7. SQLServer的分时间段统计的SQL语句。

没看懂a和b二个表的用途,假设对表a统计。
直接统计比较困难,不过你可以先把日期转换成到最早日期的分钟数,把分钟数除以10求整,得到的新值就是每10分钟一组的了。不过新值需要保存到临时表,再对临时表分组统计。
--按上述分析将a表中的f_time转换为以最早日期为起点的每10分钟一个值的新列,如间隔8分钟,新列值为0,18分钟,新值为1.此列命名为ten,把它们复制到临时表#tj中。
select floor(datediff(mi,(select min(f_time) from a),optime)/10) ten,f_time,f_val from a into #tj where not a is null order by f_time
--对#tj按ten列分组统计,同时显示每组的起始日期好截止日期。
select ten,min(f_time) bg,max(f_time) end,sum(f_val) hj_val from #tj group by ten order by ten
--把临时表删掉
drop table #tj

8. 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 )

9. SQLSERVER 如何在union all多表查询出结果后再分类汇总

提供一下参考实现:

select wo3状态,sum(wo3售价) 小计

from (

) as a

group by wo3状态

10. sqlserver 单表 分组 不同查询条件 统计 数据 。

select 姓名,
1 类型1,
sum(isnull(case when 类型=1 then 1 else 0 end,0)) 类型1的个数,
2 类型2,
sum(isnull(case when 类型=2 then 1 else 0 end,0)) 类型2的个数
from 表名
group by 姓名