查询语句。求优化!~(在线等!~)
本帖最后由 u011206051 于 2013-06-26 11:56:24 编辑
表:用户id,桌子id,登录状态,登录时间,退出时间
select t from t_record t
where t.tableId = tableId and
t.logoutTime > startTime and
t.logoutTime < endTime and
not exit (select s from t_record s where s.loginTime >= t.logoutTime and t.tableId = tableId )
该桌子上的所有用户在定义的时间段中的最后一条记录,并且最后一条记录的登录状态一定要为离线。(该桌能有几个用户登录)
如果该桌上有2个用户在时间段中最后一条记录都为离线,那么就都查出来。如果只有1个用户的记录那就只查1条。
我的疑问(在时间段完成):
1、登录,退出,登录 那么这条记录会不会查出来。
2、登录,退出,(loginTime不跟前面退出的logoutTime相等)登录,退出 这样是否会把前面一个退出的记录也查出来。
3、这个SQL语句能否优化。(能的话帮下忙)
------解决方案--------------------mysql的不怎么懂哦