如果我使用:
SELECT Sec_to_Time(Sum(Time_to_Sec(time_utilize))) as week_time FROM attendance WHERE staff_id = 'ahmed'
它运行良好,但当我使用时:
SELECT Sec_to_Time(Sum(Time_to_Sec(time_utilize))) as week_time FROM attendance WHERE staff_id = 'ahmed' LIMIT 1, 7
上面写着:
MySQL返回空结果集(即零行)。(查询耗时0.0004秒)
尽管考勤表包含了近20条与"admed"相对应的记录。。。。。。。。。。。
这是因为该查询将始终返回"ahmed"的单个记录,这是因为您使用的是SUM聚合。因此,当您执行LIMIT 1,7时,它会返回一个空的结果集。
尝试执行LIMIT 0,它应该会起作用。
希望这能有所帮助。
Yes SUM是一个聚合函数,因此我们可以通过使用BETWEEN运算符(如:)来获得所需结果
SELECT Sec_to_Time(Sum(Time_to_Sec(time_utilize))) as week_time FROM attendance WHERE staff_id = 'ahmed' AND today BETWEEN '2011-06-1' AND '2011-06-7'