Mysql
 sql >> Base de données >  >> RDS >> Mysql

MYSQL :Pouvez-vous extraire des résultats qui correspondent à 3 expressions sur 4 ?

SELECT
  * 
FROM 
  my_table 
WHERE 
  CASE WHEN name = "john doe"           THEN 1 ELSE 0 END +
  CASE WHEN phone = "8183321234"        THEN 1 ELSE 0 END +
  CASE WHEN email = "[email protected]" THEN 1 ELSE 0 END +
  CASE WHEN address = "330 some lane"   THEN 1 ELSE 0 END
  >= 3;

Remarque :cela n'utilisera très probablement pas les index de manière efficace. D'un autre côté, il n'y aura très probablement pas d'index sur ces types de colonnes de toute façon.