sql >> Databasteknik >  >> RDS >> Mysql

MySQL-fråga med flera AND-satser verkar ignorera en

Problemet är med prioriteten för OR /AND betingelser. AND har högre prioritet än OR , det är därför den först utvärderar alla villkor som är kopplade till AND (tags-merch, newsID-2134 och status-1) och utvärderar sedan både tags-gda och tags-tävlingarna).

Försök att lägga till parenteser:

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. Hur man aktiverar alla begränsningar för kontroll och främmande nyckel i en databas i SQL Server (T-SQL-exempel)

  2. Är det möjligt att fråga en kommaseparerad kolumn för ett specifikt värde?

  3. Realtidsspårning i google map

  4. mysql infoga om värdet inte finns i en annan tabell