Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MYSQL:Czy możesz pobrać wyniki, które pasują do 3 z 4 wyrażeń?

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;

Uwaga dodatkowa:najprawdopodobniej nie będzie to efektywne korzystanie z indeksów. Z drugiej strony najprawdopodobniej i tak nie będzie żadnych indeksów w tego rodzaju kolumnach.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak usunąć rekord MySQL po określonym czasie?

  2. Nieprawidłowa data podczas konwersji daty w php

  3. Dlaczego SQLAlchemy create_engine z charset=utf8 zwraca typ Pythona <str> i nie wpisuje <unicode>?

  4. Połącz się z mysql w kontenerze docker z hosta

  5. PHP MYSQL - Wstaw do bez używania nazw kolumn, ale z polem autoinkrementacji