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

句ごとにブール式を使用する

    MySQLには実際のはありません ブール値の概念であり、単にTRUEをマップします およびFALSE 数値に1 および0 それぞれ。

    この場合、user_id <> ? テーブル内の大部分の行に対して0を返し、他の行に対して1を返します。デフォルトのソート順はASCです。 、おそらく必要な行が下部にあることを意味します 結果セットの(0/FALSE に来る 1/TRUE )。これに対応するようにクエリを変更してみてください。

    ( user_id <> ? ) DESC, rating DESC, title
    

    これが実際に問題であると仮定すると、データベース間の互換性を簡単に実現できます。

    IF(user = ?, 0, 1), rating DESC, title
    


    1. EBSR12コンポーネントのバージョンを見つける方法

    2. 日付/時刻からSQLServerの文字列の例へのCONVERT()

    3. PostgreSQLで類似した文字列をすばやく見つける

    4. 理解しようとしています列リストエラーに一致するフルテキストインデックスが見つかりません