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

Dlaczego UNION ALL z nawiasami i bez nich zachowuje się inaczej?

To dlatego, że używasz LIMIT.

Odnośnik MySql mówi, że jeśli chcesz użyć ORDER BY lub LIMIT na poszczególnych zaznaczeniach, musisz otoczyć swoje zaznaczenia nawiasami.

Przykład (z odniesienia MySQL):

Aby zastosować ORDER BY lub LIMIT do pojedynczego SELECT, umieść klauzulę w nawiasach, które zawierają SELECT:

(SELECT a FROM t1 WHERE a=10 AND B=1 ORDER BY a LIMIT 10)
UNION
(SELECT a FROM t2 WHERE a=11 AND B=2 ORDER BY a LIMIT 10);

Zasoby można znaleźć tutaj:http://dev.mysql.com /doc/refman/5.0/en/union.html

EDYTUJ: Zmieniono link referencyjny, ponieważ poprzedni dotyczył wersji 5.5. Ale odpowiedź się nie zmieniła.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. WEEKOFYEAR(NOW()) vs WEEK('2018-05-1') - aktualna data

  2. Jak ustawić pole AUTO_INCREMENT, aby zaczynało się od wartości 6000 w mysql?

  3. Błąd podczas próby migracji postgresql db do mysql za pomocą workbench

  4. Czy jest jakiś powód, aby nadal używać wielkości węża do tabel i kolumn bazy danych?

  5. MySQL łączy dwie kolumny w jedną kolumnę