我怎样才能按下列方式订购表:
会面
ORDER BY CASE WHEN `meet_date`="2021-08-06" AND `meet_time`>="12:14" THEN 1 WHEN `meet_date`>"2021-08-06" THEN 2 WHEN `meet_date`="2021-08-06" AND `meet_time`<"12:14" THEN 3 WHEN `meet_date`<"2021-08-06" THEN 3 END ASC, `meet_date` ASC,`meet_time` ASC 我试着使用这个查询,但我有问题的订单最后一组(过去的会议) DESC。
meet_id meet_date meet_time meet_type
40 06.08.2021 15:09 pozyskanie mieszkania
38 06.08.2021 17:09 pozyskanie mieszkania
969 17.08.2021 00:59 pozyskanie-mieszkania
967 19.08.2021 12:00 prezentacja
44 17.09.2021 12:09 pozyskanie mieszkania
42 18.09.2021 12:09 pozyskanie mieszkania
39 19.09.2021 12:09 pozyskanie mieszkania
848 25.01.2005 10:05 pozyskanie-mieszkania
656 30.07.2020 05:30 prezentacja
655 30.07.2020 15:30 pozyskanie-mieszkania发布于 2021-08-06 11:13:11
测试这个:
ORDER BY CASE WHEN meet_date = CURRENT_DATE
THEN 1
WHEN TIMESTAMP(meet_date, meet_time) < CURRENT_TIMESTAMP
THEN 2
ELSE 3 END,
CASE WHEN meet_date <= CURRENT_DATE
THEN TIMESTAMP(meet_date, meet_time) + 0
ELSE DATEDIFF(CURRENT_DATE, meet_date) END表达式1按类别进行排序(今天、之后、之前)。
表达式2在类别中提供单独的排序。
https://stackoverflow.com/questions/68680100
复制相似问题