2010-06-17 14 views
6

किसी भी कॉलम की बजाय दो कॉलम के योग से MYSQL क्वेरी के परिणामों को ऑर्डर करने के तरीके पर कोई विचार?कॉलम के योग से MYSQL आदेश

Select * FROM table ORDER BY (col1+col2) desc 

मुझे पता है कि यह काम नहीं करेगा।, लेकिन मुझे उम्मीद है कि यह बताता है कि मैं काफी अच्छा करना चाहता हूं।

धन्यवाद!

उत्तर

21

निष्कर्ष निकालने से पहले कोशिश क्यों नहीं करते हैं यह काम नहीं करता है? वास्तव में, यह करता है।

+0

col3 में योग (col1 + col2) और उस पर सूचकांक भंडारण होगा, क्वेरी तेजी से बनाता है ?? – user2681045

+1

@ user2681045, मुझे संदेह है कि यह प्रश्न में प्रश्न तेज कर देगा। यदि आप इसे 'ऑर्डर द्वारा कॉल 3' में बदलते हैं और उचित इंडेक्स है, तो हो सकता है। लेकिन यह आपकी मेज को denormalizing की लागत पर है। –

+1

वह नहीं जानता था कि वह सफल होने के करीब कितना करीब था और एक प्रश्न पोस्ट करने से पहले था। – qualebs

1

आपके द्वारा लिखी गई क्वेरी को ठीक काम करना चाहिए, आप ORDER BY खंड में कोई अभिव्यक्ति कर सकते हैं।

+0

यह मेरे लिए काम नहीं करता है, मुझे नहीं लगता कि आप ORDER BY खंड पर अभिव्यक्ति कर सकते हैं –

2

मुझे लगता है कि आप

SELECT *, col1+col2 as mysum ORDER BY mysum 

करने के लिए कौन सा मूलतः एक ही है, जैसा कि आप पहले से ही

3

मान लीजिए आप 'छात्रों'

enter image description here

नाम के एक मेज है है में सक्षम होना चाहिए

अब आप प्रत्येक छात्र द्वारा बनाए गए कुल अंक जानना चाहते हैं। तो, निम्न क्वेरी

SELECT Name, S1, S2, SUM(S1+S2) AS TOTAL 
FROM Students 
GROUP BY Name, S1, S2 
ORDER BY Total; 

टाइप करते समय निम्न परिणाम मिल जाएगा।

enter image description here

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