रॉ काउंट पाने के लिए
select window_height, count(*) totalusers
from tbl
group by window_height
order by totalusers desc # or by window_height
मोडल औसत प्राप्त करने के लिए (यदि उच्चतम गणना के लिए संबंध हैं तो यह कई मान दिखाएगा)
select window_height, totalusers
from (
select @r := if(totalusers>@r,totalusers,@r) maxcount, window_height, totalusers
from (select @r:=0) initvars, (
select window_height, count(*) totalusers
from tbl
group by window_height
) X ) Y
where totalusers = @r
यह अधिकतम गणना को संग्रहीत करने के लिए एक चर का उपयोग करने की एक MySQL चाल का उपयोग करता है क्योंकि यह समेकित सबक्वायरी के माध्यम से जाता है। संचालन का सारांश
- O(n):टेबल को एक बार स्कैन करें और काउंट्स बनाएं (T1)
- O(n):व्युत्पन्न तालिका T1 को स्कैन करें और वेरिएबल @r (T2) में उच्चतम गणना रखें
- O(n):व्युत्पन्न तालिका T2 को स्कैन करें और केवल उच्चतम गणना वाली ऊंचाई के लिए फ़िल्टर करें