sql >> データベース >  >> RDS >> Mysql

ORDER BYにifステートメントを追加できますか?

    そうですね、IF 機能 MySQLで(functionに重点を置いていることに注意してください 無関係な IFもあるため ステートメント )...:

    ORDER BY IF(TYPE='Member', LNAME, GROUPNAME) ASC
    

    ただし、この場合、(柔軟性の観点から)より適切な選択は CASE ステートメント

    ORDER BY 
        CASE `type` 
            WHEN 'Member' THEN LNAME 
            WHEN 'Group' THEN GROUPNAME
            ELSE 1 END 
        ASC
    

    CASEのブロック全体に注意してください ENDへ 単一の「ユニット」と見なされます。その結果が、並べ替えようとしているものです(したがって、ASC ブロックの内側ではなく、ブロックの後に来る)...



    1. 本番リポジトリからのテスト環境の作成

    2. UNION、EXCEPT、またはINTERSECTを使用している場合のPostgreSQLの「エラー:テーブルのFROM句エントリがありません」を修正しました

    3. MySQLで小数点を変更する

    4. T-SQLの日時は、関数を使用して最も近い分と最も近い時間に丸められます