【问题标题】:How can I group days depending on the database field value in php如何根据 php 中的数据库字段值对日期进行分组
【发布时间】:2013-12-13 06:37:41
【问题描述】:

我正在保持公司的工作时间。如何根据工作时间分组日期?

我想要像

这样的输出
Sunday, Saturday 00:00:00 to  00:00:00
Monday, Tuesday, Wednesday, Thursday 10:00:00 to 18:00:00
Friday 10:00:00 to 13:00:00

查询输出:

Array
(
[0] => Array
    (
        [id] => 8
        [member_id] => 926
        [day] => sunday
        [from_time] => 08:00:00
        [to_time] => 16:00:00
        [created_id] => 926
        [created] => 2013-12-13 08:33:03
    )

[1] => Array
    (
        [id] => 9
        [member_id] => 926
        [day] => monday
        [from_time] => 10:00:00
        [to_time] => 18:00:00
        [created_id] => 926
        [created] => 2013-12-13 08:33:03
    )

[2] => Array
    (
        [id] => 10
        [member_id] => 926
        [day] => tuesday
        [from_time] => 00:00:00
        [to_time] => 00:00:00
        [created_id] => 926
        [created] => 2013-12-13 08:33:03
    )

[3] => Array
    (
        [id] => 11
        [member_id] => 926
        [day] => wednesday
        [from_time] => 00:00:00
        [to_time] => 00:00:00
        [created_id] => 926
        [created] => 2013-12-13 08:33:03
    )

[4] => Array
    (
        [id] => 12
        [member_id] => 926
        [day] => thursday
        [from_time] => 00:00:00
        [to_time] => 00:00:00
        [created_id] => 926
        [created] => 2013-12-13 08:33:03
    )

[5] => Array
    (
        [id] => 13
        [member_id] => 926
        [day] => friday
        [from_time] => 00:00:00
        [to_time] => 00:00:00
        [created_id] => 926
        [created] => 2013-12-13 08:33:04
    )

[6] => Array
    (
        [id] => 14
        [member_id] => 926
        [day] => saturday
        [from_time] => 00:00:00
        [to_time] => 00:00:00
        [created_id] => 926
        [created] => 2013-12-13 08:33:04
    )

)

我该怎么做?

【问题讨论】:

    标签: php mysql sql group-by


    【解决方案1】:
    SELECT GROUP_CONCAT(day) days, CONCAT(from_time, ' to ', to_time) times
    FROM yourTable
    GROUP BY from_time, to_time
    

    【讨论】:

      【解决方案2】:

      你可以这样试试,

      SELECT 
      GROUP_CONCAT(DAY) AS 'DAY', 
      FROM_TIME AS 'IN'
      TO_TIME AS 'OUT'
      
      FROM TABLE_NAME
      
      GROUP BY FROM_TIME, TO_TIME 
      ORDER BY DAY 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-08-10
        • 1970-01-01
        • 2016-10-08
        • 1970-01-01
        • 2021-09-25
        • 1970-01-01
        • 2011-03-24
        相关资源
        最近更新 更多