2012-04-02 10 views
6

मैं निम्नलिखित 3 प्रश्नों को में एक साथ जोड़ता हूं जो लंबवत (स्टैक लंबवत) जोड़ता है, एक प्रश्न जो 100 पंक्तियां, श्रेणी 1 से 50 पंक्तियां, श्रेणी 2 से 25, श्रेणी 3 से 25 चयनित सभी बेतरतीब ढंग से। मैंने यूनियन की कोशिश की लेकिन काम नहीं कर रहा था।लंबवत रूप से एक प्रश्न में MySQL परिणामों को ढेर

select * from table where category_id = 1 order by rand() limit 50; 

select * from table where category_id = 2 order by rand() limit 25; 

select * from table where category_id = 3 order by rand() limit 25; 
+3

एक 'यूनिअन यदि आप माता-पिता में प्रत्येक भाग को संलग्न करते हैं तो सभी को काम करना चाहिए (चयन करें ...) यूनियन सभी (चयन करें ...) ... ' –

उत्तर

6

ORDER BY या LIMIT एक व्यक्ति SELECT को लागू करने के लिए, कोष्ठक कि संलग्न SELECT अंदर खंड जगह:

(select * from table where category_id = 1 order by rand() limit 50) 
UNION ALL 
(select * from table where category_id = 2 order by rand() limit 25) 
UNION ALL 
(select * from table where category_id = 3 order by rand() limit 25); 
3

क्या आप देख रहे हैं UNION ALL वाक्य रचना (लिंक MySQL प्रलेखन के लिए है)।

select * from table where category_id = 1 order by rand() limit 50 
UNION ALL 
select * from table where category_id = 2 order by rand() limit 25 
UNION ALL 
select * from table where category_id = 3 order by rand() limit 25; 

संपादित करें: अर्धविराम हटा दिया, धन्यवाद @Matt Fenwick

+1

अर्धविरामों को छोड़कर। –

+0

जब मैं अर्धविराम निकालता हूं, तो मुझे केवल श्रेणी पंक्तियों में से 25 पंक्तियां मिलती हैं = 1 –

संबंधित मुद्दे