求sql分组汇总的写法,各位帮帮忙

livdan 2010-10-13 03:24:09
要求出的结果:日期,0-10t,10-20t,20-30t,30-40t,>40t
表结构:
日期,ID,重量

要求把每天通车的数量汇总,0-10t的车有多少辆,10-20t的车有多少辆,依次类推,制成表格
...全文
90 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
livdan 2010-10-13
  • 打赏
  • 举报
回复
嗯,就是我要的答案,谢谢,结贴
kevn 2010-10-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sql2088 的回复:]
SQL code
select 日期,
[0-10t]=sum(case when 重量 between 0 and 10 then 1 else 0 end),
[10-20t]=sum(case when 重量 between 10 and 20 then 1 else 0 end),
[20-30t]=sum(case when 重量 between 20 and 30 then 1……
[/Quote]
正解
SQL2088 2010-10-13
  • 打赏
  • 举报
回复
select 日期,
[0-10t]=sum(case when 重量 between 0 and 10 then 1 else 0 end),
[10-20t]=sum(case when 重量 between 10 and 20 then 1 else 0 end),
[20-30t]=sum(case when 重量 between 20 and 30 then 1 else 0 end),
[30-40t]=sum(case when 重量 between 30 and 40 then 1 else 0 end),
[>40t]=sum(case when 重量 >40 then 1 else 0 end)
from tb
group by 日期
livdan 2010-10-13
  • 打赏
  • 举报
回复
现在我只能用多条Sql语句查询,0-10t的一条sql,10-20t又一天sql,如下代码

SELECT convert(varchar(100) ,T_dtTime,23) as data,count(convert(varchar(100),T_dtTime,23)) as total
FROM [TFL_GZ].[dbo].[TrafficFlow] where T_dValue>10 and T_dValue<20
group by convert(varchar(100),T_dtTime,23)
order by count(convert(varchar(100),T_dtTime,23)) desc

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧