0
SQLテーブルの注文に関する質問があります。と私はスタックやGoogle上のソリューションを見つけることができません。私のテーブル「スコア」は次のようになります。COALESCEを組み合わせた2列の注文方法は?
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
注:「合計」列はCOUNT(ゲーム1 +ゲーム2 +ゲーム3)です。
トムがゲーム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