我正试图为我的出勤率创建高图表时间线图,但我得到的结果中出现的记录略有不同。
记录考勤的表为:
+++++++++++++++++++++++++++++++++
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')