【发布时间】:2019-12-25 15:35:41
【问题描述】:
这是我在数据库中的:
data table status_ord
2019-08-20 15:30:12 tab1 1
2019-08-20 15:30:30 tab2 1
2019-08-20 15:31:31 tab2 2
2019-08-20 15:31:40 tab1 1
2019-08-20 15:31:55 tab1 1
2019-08-20 15:32:12 tab2 1
2019-08-20 15:32:35 tab2 1
2019-08-20 15:50:45 tab1 1
2019-08-20 15:55:52 tab2 1
2019-08-20 12:30:12 tab1 2
2019-08-20 12:35:35 tab2 2
2019-08-20 12:45:44 tab1 2
我需要首先按 status_ord 排序,我需要首先拥有所有状态为 1 的人,然后是状态为 2 的人。 然后我需要每隔 5 分钟按表排序,所有内容都必须按日期排序。
有这个输出:
data table status_ord
2019-08-20 15:30:12 tab1 1
2019-08-20 15:31:40 tab1 1
2019-08-20 15:31:55 tab1 1
-- first 5 minutes block of tab 1
2019-08-20 15:30:30 tab2 1
2019-08-20 15:32:12 tab2 1
2019-08-20 15:32:35 tab2 1
-- first 5 minutes block of tab 2
2019-08-20 15:50:45 tab1 1
2019-08-20 15:55:52 tab2 1
2019-08-20 12:30:12 tab1 2
2019-08-20 12:35:35 tab2 2
2019-08-20 12:45:44 tab1 2
2019-08-20 15:31:31 tab2 2
我只知道如何对状态和日期的数据进行排序,如下所示:
SELECT *
FROM Ordine u
ORDER BY u.status_ord ASC, u.data
我希望我很清楚。谢谢!
【问题讨论】:
-
定义“5 分钟”。
-
@Strawberry 例如,首先,从 15.30 到 15.35,我想先拥有所有的“tab1”,然后是所有的“tab2”
标签: mysql sql sorting datetime sql-order-by