sql >> Databáze >  >> RDS >> Mysql

Zdá se, že dotaz MySQL s více příkazy AND jeden ignoruje

Problém je s prioritou OR /AND podmínky. AND má vyšší prioritu než OR , proto nejprve vyhodnotí všechny podmínky spojené pomocí AND (tags-merch, newsID-2134 a status-1) a poté vyhodnotí oba tags-gda a tags-contests).

Zkuste přidat hranaté závorky:

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. Existuje způsob, jak použít ARRAY v Entity Framework + PostgreSql

  2. Transformujte data ODBC v CloverDX

  3. Skript kontroly stavu replikace MySQL

  4. Oracle:Vyberte z datového typu záznamu