sql >> Databasteknik >  >> RDS >> Mysql

MYSQL:Kan du få resultat som matchar 3 av 4 uttryck?

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;

Sidanteckning:detta kommer med stor sannolikhet inte att använda index effektivt. Å andra sidan kommer det mycket troligt inte att finnas några index på den här typen av kolumner.



  1. MySql ger användartillstånd

  2. Vad är skillnaden mellan schema och databas?

  3. Finns det en enda fråga som kan uppdatera ett sekvensnummer över flera grupper?

  4. php:snabbaste sättet att generera ett 5-siffrigt nummer som inte redan finns i MySQL db-kolumnen (med ett unikt attribut)