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

Rozwiązanie podzapytania zwraca więcej niż 1 błąd wiersza

= może być użyte, gdy podzapytanie zwraca tylko 1 wartość.

Gdy podzapytanie zwróci więcej niż 1 wartość, będziesz musiał użyć IN :

select * 
from table
where id IN (multiple row query);

Na przykład:

SELECT *
FROM Students
WHERE Marks = (SELECT MAX(Marks) FROM Students)   --Subquery returns only 1 value

SELECT *
FROM Students
WHERE Marks IN 
      (SELECT Marks 
       FROM Students 
       ORDER BY Marks DESC
       LIMIT 10)                       --Subquery returns 10 values


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ograniczenie CHECK w MySQL nie działa

  2. Wybierz zapytanie do pobrania wierszy w MySQL

  3. Odmowa dostępu MYSQL do pliku outfile - ale mój użytkownik ma WSZYSTKI dostęp... a folder to CHMOD 777

  4. Korzystanie z tunelowania SSH jako alternatywy VPN

  5. Jak zainstalować MySQL z phpMyAdmin na Ubuntu 14.04?