gpt4 book ai didi

MySQL Order by DESC 如果column = X,否则ASC

转载 作者:太空宇宙 更新时间:2023-11-03 11:51:16 26 4
gpt4 key购买 nike

如果 finished = 1,我如何按 start_date DESC 排序查询,否则 start_date ASC。现在它看起来像这样:

SELECT game_id, 
event_id,
start_date,
best_of,
home_team_id,
away_team_id,
home_value,
away_value,
home_result,
away_result,
stream_url,
stats_url,
comments,
finished
FROM betting_games
ORDER BY finished ASC,
start_date ASC
LIMIT 5

最佳答案

这是一种方法:

SELECT *
FROM betting_games
ORDER BY finished ASC,
CASE
WHEN finished = 1 THEN - 1 * UNIX_TIMESTAMP(start_date)
ELSE UNIX_TIMESTAMP(start_date)
END ASC

您不能从 CASE 表达式返回 DESCASC。使用 UNIX_TIMESTAMP,日期字段 start_date 被转换为一个整数,可用于按降序存储(一旦取反)。

Demo here

关于MySQL Order by DESC 如果column = X,否则ASC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35465526/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com