質問:「if値を使用してSQL文をどのように注文できますか?」ORDER BY if文の中でASC/DESCを使用する方法は?
私にはパラメータがあり、このパラメータを使用してASCまたはDESCで単一列を注文する必要があります。どうすれば達成できますか?
私は、ASCとDESCのパラメータはIFブロック内にあることができないことを理解しています(IF(Type = '1'、Ranking、Ranking)ASC/DESC)。パラメータの基数を選択するための代替案
例
表であるようなもの:
ID | RANKING | TYPE
--------------------
1 | 12 | 1
2 | 10 | 1
3 | 14 | 2
4 | 15 | 2
タイプ= 1 ASC順序およびタイプ= 2 DESC注文しなければならないでなければならないので、予想される結果は私のSELECTの:
ID | RANKING | TYPE
--------------------
2 | 10 | 1
1 | 12 | 1
4 | 15 | 2
3 | 14 | 2
それについてのアイデア?
で直接コードをテストすることができますか?それはどのように見えるのですか? –
ず 'test'( ' id' SMALLINT(5)符号なしNOT NULL AUTO_INCREMENT、 'ranking' VARCHAR(15)NOT NULL、 ' type'がTINYINT(1)符号なしNULL NOT、 PRIMARY KEYを(存在する場合のCREATE TABLE 'id') )ENGINE = InnoDB DEFAULT CHARSET = utf8 AUTO_INCREMENT = 5; INSERT INTO 'test'(' id'、 'ranking'、' type'が)が(2、 '10' 1) (1、 '12'、1)、 値、 (3、'14 '、2)、 (4,15'、2); – Gabriele