MySQL数据以15分钟为增量



我正试图为我的出勤率创建高图表时间线图,但我得到的结果中出现的记录略有不同。

记录考勤的表为:

+++++++++++++++++++++++++++++++++
Id | Date     |  AttendTime(varchar)
--------------------------------
1  | 20160815 |  7:51
2  | 20160815 |  7:53
3  | 20160815 |  8:01
-------------------------------

我正在使用以下sql来获取数据

SELECT 
     COUNT(Id) as Total 
FROM Attendance 
     WHERE Date = '20160815' AND
           HOUR(STR_TO_DATE(AttendTime, '%H:%i'))  <= HOUR(STR_TO_DATE('7:30', '%H:%i'))

我应该得到0,因为没有,但我得到3条记录。我做错了什么?谢谢你。

如果您只是想查看7:30之前的出席人数,则不需要HOUR函数:

SELECT 
     COUNT(Id) as Total 
FROM Attendance 
     WHERE Date = '20160815' 
     AND STR_TO_DATE(AttendTime, '%H:%i') <= STR_TO_DATE('7:30', '%H:%i')

相关内容

  • 没有找到相关文章

最新更新