t-sql中有关时间分组的问题
我现在有一个时间列datetime类型,存了一天的所有时间点(xxxx-xx-xx xx:xx:xxx),然后我想以小时分组,但是返回的结果中,此列的格式还必须是xxxx-xx-xx xx:xx:xxx类型,敬请各位大神指教~!
[最优解释]
select 你需要的字段,聚合函数_比如说sum,count等(统计的字段)over(partition by hour(dtmReaderTime)) from tb
[其他解释]
分组可以使用:group by convert(hh,时间列),显式的话可以使用子查询,具体怎么写要看你数据和表结构。
[其他解释]
直接group by datepart(hh,时间列)
[其他解释]
group by个毛线啊
聚合函数(字段名字)over(partition by hour(时间字段))即可
[其他解释]
你这个小版主注意形象,投诉你。
[其他解释]
---------------------------
小弟愚钝,请大侠进一步指教下面是表结构
[其他解释]
----------------------------------------------
SELECT MAX(flaTemperatureValue)OVER(PARTITION BY DATEPART(HH,dtmReaderTime))
FROM dbo.WS_History(我是2005,提示hour不是内置函数)结果不正确,小时分组只有19个
[其他解释]
-------------------------------------------
呵呵,谢谢大牛捧场
[其他解释]
那不知道 你用datepart(hh,日期字段就可以了啊)
[其他解释]
sorry 我记错了 没有这个函数 好久没用过 你用datepart代替他
[其他解释]
真不负责任的小版主,05的话试试 convert(hh,时间列)
[其他解释]
我自己再搞搞,我把语句贴上来了,分组本来是19个小时,但是分了好多出来谢谢大家提醒了