आप अंतिम प्रश्न के बहुत करीब हैं। निम्नलिखित को एक मिलता है मोड:
SELECT value, occurs
FROM (SELECT value,count(*) as occurs
FROM t200
GROUP BY `value`
LIMIT 1
) T1
मुझे लगता है कि आपका प्रश्न कई तरीकों के बारे में था, हालांकि:
SELECT value, occurs
FROM (SELECT value, count(*) as occurs
FROM t200
GROUP BY `value`
) T1
WHERE occurs = (select max(occurs)
from (select `value`, count(*) as occurs
from t200
group by `value`
) t
);
संपादित करें:
यह लगभग किसी भी अन्य डेटाबेस में बहुत आसान है। MySQL न तो with
का समर्थन करता है न ही खिड़की/विश्लेषणात्मक कार्य।
आपकी क्वेरी (नीचे दिखाई गई) वह नहीं करती जो आपको लगता है कि वह कर रही है:
SELECT value, occurs
FROM (SELECT value, count(*) as occurs
FROM t200
GROUP BY `value`
) T1
HAVING occurs = max(occurs) ;
अंतिम having
क्लॉज चर को संदर्भित करता है occurs
लेकिन max(occurs)
. का उपयोग करता है . max(occurs)
. के उपयोग के कारण यह एक एकत्रीकरण क्वेरी है जो सबक्वेरी से सभी पंक्तियों को सारांशित करते हुए एक पंक्ति लौटाती है।
चर occurs
समूहीकरण के लिए उपयोग नहीं कर रहा है। तो, MySQL किस मूल्य का उपयोग करता है? यह एक मनमानी . का उपयोग करता है सबक्वेरी में पंक्तियों में से एक से मूल्य। यह मनमाना मूल्य मेल खा सकता है, या नहीं भी हो सकता है। लेकिन, मान केवल एक पंक्ति से आता है। इस पर कोई पुनरावृत्ति नहीं है।