我有一个如下所示的SQL表:
gameId team1 team2 date stage
1 5 2 xx/xx 0
2 3 4 xx/xx 0
3 7 1 xx/xx 0
5 5 3 xx/xx 8
6 7 2 xx/xx 8
7 5 3 xx/xx 5
8 7 2 xx/xx 5
我想选择所有并按特定顺序(8,0,5)按阶段对其进行分组,并且每个组内按日期排序。
我想到了:
SELECT * FROM table ORDER BY date DESC GROUP BY stage
但我不确定如何为分组提供标准,因为它不遵循数字逻辑。
目标是按照我提到的特定顺序按阶段显示项目。
答案 0 :(得分:1)
SELECT *
FROM table
ORDER BY
FIND_IN_SET(stage, '8,0,5'),
date DESC
答案 1 :(得分:1)
试试这个。
SELECT * FROM table ORDER BY FIELD(stage, '8', '0', '5'), date DESC GROUP BY stage;