sql >> Databasteknik >  >> RDS >> Mysql

Varför beter UNION ALL med och utan parentes olika?

Det beror på att du använder LIMIT.

MySql-referens säger att om du vill använda ORDER BY eller LIMIT på individuella val, måste du omge dina marker med parenteser.

Exempel (Från MySQL-referens):

För att tillämpa ORDER BY eller LIMIT på en enskild SELECT, placera satsen inom parentesen som omger 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);

Resurs finns här:http://dev.mysql.com /doc/refman/5.0/en/union.html

EDIT: Ändrade referenslänk eftersom den tidigare var för version 5.5. Men svaret ändrades inte.




  1. connect ECONNREFUSED - node js , sql

  2. Hur man skriver en MySQL-fråga som returnerar en tillfällig kolumn som innehåller flaggor för huruvida ett objekt relaterat till den raden finns i en annan tabell eller inte

  3. laravel sök flera ord separerade med mellanslag

  4. Oracle 10g accepterar 5-siffrigt år i ett datum