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

複数のANDステートメントを含むMySQLクエリは1つを無視しているようです

    問題は、ORの優先度にあります / AND 条件。 AND ORよりも優先度が高い 、そのため、最初にANDで接続されたすべての条件を評価します。 (tags-merch、newsID-2134、status-1)次に、tags-gdaとtags-contestsの両方を評価します。

    角かっこを追加してみてください:

    SELECT *  
      FROM  `posts`  
     WHERE (`tags` LIKE  '%gda%' 
        OR  `tags` LIKE  '%contests%' 
        OR  `tags` LIKE  '%merch%')
       AND  `newsID` !=  '2134' 
       AND `status` > '1' 
    ORDER BY  `postDate` DESC
    LIMIT 5
    


    1. JPAは多対多で持続します

    2. テーブルから最後のレコードIDを取得する最も安全な方法

    3. 医療予約アプリのデータモデル

    4. VisualStudio2012のMySQLNETConnect 6.7.2