【问题标题】:Time period in group by sql querysql查询分组时间段
【发布时间】:2015-02-16 01:12:25
【问题描述】:

我正在为图书馆开发图书预订系统。 在预订表中有以下字段: id_reservation、id_user、id_book、日期时间。

我想计算早上完成的预订和晚上完成的预订,假设早上在 10:00 到 15:00 之间,晚上在 15:00 到 21:00 之间。

我需要类似的东西: 按 time_period

从预订组中选择 count(id_reservation) 作为 total_reservations

任何帮助如何区分两个时间段以便在GROUP BY中使用它们?

非常感谢!!

【问题讨论】:

    标签: mysql sql datetime select group-by


    【解决方案1】:

    试试这个:

    SELECT (CASE WHEN TIME(datetime) BETWEEN '10:00:00' AND '15:00:00' THEN 'Morning' 
                 WHEN TIME(datetime) BETWEEN '15:00:00' AND '21:00:00' THEN 'Evening' 
                 ELSE 'NA'
            END) AS time_period, 
           COUNT(id_reservation) AS total_reservations 
    FROM reservations 
    GROUP BY time_period;
    

    【讨论】:

      猜你喜欢
      • 2012-11-25
      • 2011-03-30
      • 2018-07-15
      • 2020-06-05
      • 1970-01-01
      • 2010-09-27
      • 2013-08-07
      • 2023-03-25
      • 2016-07-09
      相关资源
      最近更新 更多