日期:2014-05-17  浏览次数:20433 次

一个sql查询问题,感觉很难
一张log表,有login_time,role_id俩字段,我需要查询周一到周五每天都有login_time登陆记录的role_id,想半天实在是想不出来。。。。。。。

------解决方案--------------------
试试
select role_id
from log
where DATEPART(WEEKDAY,login_time) between 2 and 6
group by role_id
having count(login_time)=5

------解决方案--------------------
需要考虑的情况
1)跨周
2)跨年
------解决方案--------------------
DATEPART(WEEKDAY,login_time) between 2 and 6 这个什么意思?(login_time)=5 这个不对吧,如果一天内登录5次,其它几天没有登录呢
------解决方案--------------------
select?role_id
from?log
where?DATEPART(WEEKDAY,login_time)?between?2?and?6
group?by?role_id
having?count(discint convert(date,login_time))=5