0
我有一個關於訂購SQL表的問題。我無法在堆棧或谷歌上找到解決方案。我的表格「Score」如下:如何按2列合併COALESCE?
Name Total Tries Game1 Game2 Game3
------------------------------------------
Sam 65 61 10 31 24
Tom 55 11 30
Jim 65 58 9 34 22
Dan 62 52 10 30 22
注意:「Total」列是COUNT(Game1 + Game2 + Game3)。
正如你所看到的湯姆的總記錄是空的,因爲湯姆沒有玩遊戲2。
我要訂購我的表,如下所示(最低的最高優先級):
- 空單元格(在表格底部)
- 總(ASC)
- 嘗試次數(ASC)
所以我的表有看起來像:
Name Total Tries Game1 Game2 Game3
------------------------------------------
Dan 62 52 10 30 22
Jim 65 58 9 34 22
Sam 65 61 10 31 24
Tom 55 11 30
我必須使用哪個SQL查詢?
這是我在這個時刻,但它不會排序的「嘗試」:
SELECT name, Game1+Game2+Game3 AS Total, Game1, Game2, Game3, Tries
FROM Score
ORDER BY CASE WHEN Tries or Game1 or Game2 or Game3 IS NULL THEN 0 ELSE 1 END DESC,
COALESCE(Game1,0) + COALESCE(Game2,1) + COALESCE(Game3,2) ASC
謝謝,它的工作原理! – Maarten