代码之家  ›  专栏  ›  技术社区  ›  snowflakes74

MySQL数据15分钟增量

  •  0
  • snowflakes74  · 技术社区  · 8 年前

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

    存储考勤的表格是:

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

    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条记录。我做错了什么? 非常感谢。

    1 回复  |  直到 8 年前
        1
  •  1
  •   Galz    8 年前

    如果你只是想看看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')