统计时间的sql语句 帮忙了各位,具体要求如下

来源:百度知道 编辑:UC知道 时间:2024/05/22 18:46:46
id time_begin time_end
1 2009-01-01 08:00 000 2009-01-01 17:00 000
1 2009-01-02 08:00 000 2009-01-02 17:00 000
1 2009-01-03 08:00 000 2009-01-03 17:00 000
1 2009-01-04 08:00 000 2009-01-04 17:00 000
1 2009-01-05 08:00 000 2009-01-05 17:00 000
1 2009-01-06 08:00 000 2009-01-06 17:00 000
2 2009-01-04 08:00 000 2009-01-04 17:00 000
2 2009-01-05 08:00 000 2009-01-05 17:00 000
3 2009-01-15 08:00 000 2009-01-15 17:00 000
3 2009-01-16 08:00 000 2009-01-16 17:00 000
3 2009-01-17 08:00 000 2009-01-17 12:00 000

这是个请假表的字表,如果id为1的人请假从1号到6号 则针对此人 此表会有6条数据行
请统计 在2009-01-02 到2009-01-09 时间段内 各个员工请假的时间
忘记一个字段,holiday_unit 当holiday_unit=1的时候单位是天,当holiday_unit=2的时候 单位是小时 当holiday_unit=3的时候 单位分钟,
统计的结果根据自己的单位显示时间

select id,sum(datediff(hh,time_begin,time_end)) as 请假小时 from 表
where time_begin between '2009-01-02' and '2009-01-09 17:00 000'
group by id

你这个要用到数据库函数,所以得说一下你使用数据库是什么。另外你统计出什么,请假时间是按照小时计算?还是分钟?

你数据库是什么,access还是sql server oracle,mysql??