sqlserver时间查询语句

f61cf6f5b3e7ff126ffb483caa55c9f.png



e16487a010b65290124cd030c4e81ac.png

这是八月份按照30秒一次记录的数据,2020-08-01 00:00:00——2020-08-31 00:00:00没有15,16号,后面的是污染排放值,我想查询出每天按小时汇总的数值

用户y8999187 发布于 2020-9-3 16:08
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
zsh331Lv8专家互助
发布于2021-4-7 10:00

需要准备一张「时间维表」(精确到每天分小时)不然你缺失的时间无法自行补充完整,然后用时间维表和数据事实表关联即可!

————————————

image.png

最佳回答
0
ColdmanLv6高级互助
发布于2020-9-3 16:11(编辑于 2020-9-3 16:30)

select

left(CONVERT(varchar(100), GETDATE(), 120),13) sj,

sum(opc_so2)  a,

sum(opc_nox)  b,

sum(opc_yc)  c,

from 

group by

left(CONVERT(varchar(100), GETDATE(), 120),13)



sqlsever的时间截取我没用过,你自己补充一下

最佳回答
0
firegunzxLv6高级互助
发布于2020-9-3 16:18

Select substring(CONVERT(varchar(100), GETDATE(), 20),13),sum(污染排放的值)

from 

group by

substring(CONVERT(varchar(100), GETDATE(), 20),13)


最佳回答
0
AoLiQiLv4见习互助
发布于2020-9-3 16:37(编辑于 2020-9-3 16:42)

SELECT

    CONVERT(VARCHAR(10), createtime, 120) AS createdate,

    CONVERT(VARCHAR(2), createtime, 108) AS createhour,

    SUM(opc_so2) AS opc_so2,

    SUM(opc_nox) AS opc_nox,

    SUM(opc_yc) AS opc_yc

FROM

    TABLE

GROUP BY 

    CONVERT(VARCHAR(10), createtime, 120),

    CONVERT(VARCHAR(2), createtime, 108);

最佳回答
0
咕咕咕Lv7初级互助
发布于2020-9-3 16:42

select CONVERT(INT, CONVERT(varchar(2),createtime, 108))小时,sum(opc_so2),sum(opc_nox),sum(opc_yc),

from 表

where datediff(day,creattime,getdate())=0

group by  CONVERT(INT, CONVERT(varchar(2),createtime, 108)) 


  • 5关注人数
  • 688浏览人数
  • 最后回答于:2021-4-7 10:00
    请选择关闭问题的原因
    确定 取消
    返回顶部