Sec_to_Time函数不适用于mysql中的LIMIT函数

时间:2011-06-20 07:13:04

标签: mysql

如果我使用:

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'的记录............

2 个答案:

答案 0 :(得分:0)

这是因为该查询将始终返回'ahmed'的单个记录,这是因为您正在使用SUM聚合。因此,当您执行LIMIT 1,7时,它将返回一个空结果集。

尝试做LIMIT 0,它应该可以工作。

希望这有帮助。

答案 1 :(得分:0)

是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'