समाधान
UNION ALL के साथ LIMIT का उपयोग करके कई टेबल से संयुक्त परिणाम सीमित करें।
उदाहरण
तीन टेबल बनाएं:
mysql> CREATE TABLE demo3 (value INT); mysql> INSERT INTO demo3 VALUES (10), (20), (30); mysql> CREATE TABLE demo4 (value1 INT); mysql> INSERT INTO demo4 VALUES (40), (10), (60); mysql> CREATE TABLE demo5 (value2 INT); mysql> INSERT INTO demo5 VALUES (100), (60), (50);
क्वेरी
mysql> SELECT tbl.* FROM (
-> (SELECT * FROM demo3 ORDER BY value DESC LIMIT 2)
-> UNION ALL
-> (SELECT * FROM demo4 ORDER BY value1 DESC LIMIT 2)
-> UNION ALL
-> (SELECT * FROM demo5 ORDER BY value2 DESC LIMIT 2)
-> ) tbl
-> LIMIT 2;
परिणाम
+-------+ | value | +-------+ | 30 | | 20 | +-------+
व्याख्या: प्रत्येक टेबल से शीर्ष 2 परिणाम UNION ALL से जोड़े जाते हैं, फिर बाहरी LIMIT 2 अंतिम 2 पंक्तियाँ देता है।