数据库表情况如下:SQL> select * from testit order by id,starttime; ID STARTTIME TIMECOUNT
---------- ---------- ----------
1 10-1月 -07 1
1 11-1月 -07 10
1 12-1月 -07 20
1 15-1月 -07 10
2 01-1月 -07 10
2 02-1月 -07 20
2 03-1月 -07 5
2 08-1月 -07 25我的问题是想列出那些连续7天内工作时间超过40小时的ID号。
上述的数据中,查询结果为ID=1的满足要求。而ID为2的则不满足要求。
请问这个SQL语句怎么写啊?
这个功能应该跟周统计有些区别。
---------- ---------- ----------
1 10-1月 -07 1
1 11-1月 -07 10
1 12-1月 -07 20
1 15-1月 -07 10
2 01-1月 -07 10
2 02-1月 -07 20
2 03-1月 -07 5
2 08-1月 -07 25我的问题是想列出那些连续7天内工作时间超过40小时的ID号。
上述的数据中,查询结果为ID=1的满足要求。而ID为2的则不满足要求。
请问这个SQL语句怎么写啊?
这个功能应该跟周统计有些区别。
from testit A
inner join testit B on a.ID = b.ID
where b.STARTTIME - a.STARTTIME <= 7天
and b.STARTTIME - a.STARTTIME > =0天
group by a.id, a.STARTTIME
having sum(b.timecount) > 40时间加减语法写的不好,请理会意图
from testit A
inner join testit B on a.ID = b.ID
where
b.STARTTIME - a.STARTTIME <= 7
and b.STARTTIME - a.STARTTIME > =0
group by a.id, a.STARTTIME
having sum(b.timecount) <= 40
帮你改一下