Sec_to_Time函数与mysql中的LIMIT函数不兼容

Sec_to_Time函数与mysql中的LIMIT函数不兼容,mysql,Mysql,如果我使用: 选择Sec_to_TimeSumTime_to_Sectime_作为员工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返回一个空的结果集 i、 e.零行。查询时间为0.0004 秒 尽管考勤表中包含了近20条记录与“a

如果我使用:

选择Sec_to_TimeSumTime_to_Sectime_作为员工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返回一个空的结果集 i、 e.零行。查询时间为0.0004 秒


尽管考勤表中包含了近20条记录与“admed”相对应,这是因为该查询始终会返回“ahmed”的一条记录,这是因为您使用的是总和聚合。因此,当您执行限制1,7时,它将返回一个空结果集

尝试执行限制0,它应该可以工作


希望这能有所帮助。

是的,求和是一个聚合函数,因此我们可以通过使用中间运算符(如:

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'

哎呀;现在我不需要它,因为我这样做是为了解决问题,但现在它很好。谢谢你!我猜这个问题似乎与那篇文章有关,但我认为无论如何回答都是好的:-