我有一张看起来像这样的桌子
|ID|TIME-|
|01|01:15|
|01|01:30|
|02|01:35|
|02|01:36|
|02|05:30|
|02|10:30|
|01|12:30|
我想要的是仅当它们落在同一小时标记内时才选择不同的 id,所以我正在寻找的结果是:
|ID|TIME|
|01|1:15|
|02|1:35|
|02|5:30|
|02|10:30|
|01|12:30|
TIME 是 mysql 日期格式。
我该如何写这个查询?
谢谢!
我有一张看起来像这样的桌子
|ID|TIME-|
|01|01:15|
|01|01:30|
|02|01:35|
|02|01:36|
|02|05:30|
|02|10:30|
|01|12:30|
我想要的是仅当它们落在同一小时标记内时才选择不同的 id,所以我正在寻找的结果是:
|ID|TIME|
|01|1:15|
|02|1:35|
|02|5:30|
|02|10:30|
|01|12:30|
TIME 是 mysql 日期格式。
我该如何写这个查询?
谢谢!
你可以这样做。这将为每个 ID 提供一条记录,小时显示给定小时的第一个时间值。
SELECT ID, TIME
FROM <yourtable>
GROUP BY ID, HOUR(TIME)
ORDER BY ID, TIME
假设 TIME 是时间戳或日期时间
SELECT ID, TIME
FROM yourtable
GROUP BY ID, floor(TIME/3600)
这是 mysql 特定的
SELECT ID, TIME
FROM yourtable
GROUP BY ID, TIME DIV 3600