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

查询语句。求优化!~(在线等!~)
本帖最后由 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语句能否优化。(能的话帮下忙)
SQL? MYSQL

------解决方案--------------------
mysql的不怎么懂哦