MAX(ID), MIN(ID)
MYSQL क्वेरी से अधिक कॉलम कैसे प्राप्त करें? इस क्वेरी से MAX(ID) & MIN(ID)
:MAX (आईडी), MIN (आईडी) MYSQL क्वेरी से अधिक जानकारी प्राप्त करें?
वर्तमान में मैं केवल दो मूल्यों को प्राप्त
SELECT column1, column2
FROM mytable
WHERE series = 'white'
AND ID=Max(ID)
'AND GET ME ALSO'
WHERE series = 'white'
AND ID=Min(ID);`
यह के लिए 2 पंक्तियों को वापस करना चाहिए:
SELECT MIN(ID), MAX(ID) FROM mytable WHERE mytable.series = 'white' ;
इस-छद्म क्वेरी की तरह कुछ पाने के लिए की आवश्यकता है कॉलम 'श्रृंखला' जो 'सफेद' के बराबर होती है।
आईडी = न्यूनतम (आईडी) के लिए कॉलम 1 और कॉलम 2 के साथ 1। आईडी = मैक्स (आईडी) के लिए कॉलम 1 और कॉलम 2 के साथ दूसरा।
लेकिन कैसे?
SELECT column1, column2
FROM mytable
WHERE series = 'white' AND ID IN
(
SELECT MIN(ID) FROM mytable WHERE series = 'white'
UNION
SELECT MAX(ID) FROM mytable WHERE series = 'white'
)
अच्छे प्रदर्शन के लिए (series, id)
पर एक संयुक्त सूचकांक जोड़ें:
यह काम करता है लेकिन 1:39 मिनट लगते हैं। डेटा की एक +5000 पंक्तियों के लिए ... क्या यह सामान्य है? – Ash501
@ Ash501: यह बिल्कुल सामान्य नहीं है। क्या आप इंडेक्स जोड़ना भूल गए? मैंने इंडेक्स सुझाव शामिल करने के लिए अपना जवाब अपडेट कर लिया है। लेकिन 5000 पंक्तियों के साथ मुझे लगता है कि यह उससे कहीं अधिक तेज होना चाहिए * सूचकांक के बिना भी *। क्या आपका डेटाबेस सर्वर कम या कम लोड के तहत है। क्या आप यह उल्लेख करने के लिए अपना प्रश्न अपडेट कर सकते हैं कि प्रदर्शन एक मुद्दा है और 'शो बनाएं तालिका ...' का उत्पादन और 'EXPLAIN SELECT' का परिणाम शामिल है? –
@ Ash501, ऐसा इसलिए है क्योंकि subqueries धीमे हैं क्योंकि MySQL को प्रत्येक पंक्ति के लिए निष्पादित करना है। उनका दूसरा समाधान तेजी से होना चाहिए बशर्ते आपके पास सही इंडेक्स सेट हो जाएं। –