我有一个关于如何根据两个标准订购表的问题。我在桌面游戏中有他们的开始和结束时间。所以我想展示即将开始的顶级游戏。这很容易我们可以按时间顺序排序。但是我希望当比赛结束时能够触底。 简单的架构:
所以如果现在是16:00。查询结果显示
我不希望这样,因为game1现在在12:00时结束,现在是16:00。 我希望结果如果它现在是16:00
答案 0 :(得分:0)
假设您的列是:
game | start_time | end_time
------|------------|-----------
g1 | 10:00 | 12:00
g2 | 14:00 | 16:00
g3 | 20:00 | 22:00
你可以这样做:
SELECT game FROM
(
SELECT game, start_time, end_time,
(CASE end_time
WHEN < NOW() THEN 1
ELSE 0
END) AS game_over
FROM GameTimes
ORDER BY start_time
)
ORDER BY game_over
因为你没有提供足够的关于你的桌子的信息(即,实际上是什么时间格式),我不能保证这会起作用 - 特别是与NOW()的比较 - 但它在至少让你走上正轨。