2
有一个带有datetime_in,datetime_out,card_id,group的表。知道我要在以下事项输出:sql查询分为15分钟
group ; date ; quarterTime ; persons_in ; hours
group1 ; 17-02-2010 ; 00:00 - 00:15 ; 0 ; 0
group1 ; 17-02-2010 ; 00:15 - 00:30 ; 0 ; 0
group1 ; 17-02-2010 ; 00:30 - 00:45 ; 0 ; 0
~etc
group1 ; 17-02-2010 ; 13:00 - 12:15 ; 334 ; 1483
end then the same for all the groups starting with 00:00 until 23:45
所以对于每一天的quearter我想有一个记录,由小组,日期分组(天数)和quarterTime。然后在persons_in中,我希望在该季度内的记录计数,以及以小时为单位,直到当前季度结束时,总共有多少个人工作小时。所以每天只能得到更高和更高的人数,而只有人数在该季度内。所以我的问题是,我现在有一个非常肮脏的C#脚本来做这件事,因为我想运行的最优化只有一个查询。
我不介意使用存储过程,但由于我不是很擅长sql,我更喜欢T-SQL。
任何人有想法如何做到这一点?例子?
15分钟分组部分是[SQL - 将开始/结束时间分成15分钟记录]的副本(http://stackoverflow.com/questions/2921760/sql-break-a-start-end-time -INTO 15分钟,记录)。运行总计部分是[在SqlServer中计算运行总计]的副本(http://stackoverflow.com/questions/860966/calculate-a-running-total-in-sqlserver)。 – GSerg 2011-12-19 11:47:08
谢谢,ik可以使用SqlServer中的Calculate a Running Total,但15分钟内的开始/结束时间与我想要的不同。 – Eijso 2011-12-19 11:52:58