आपके साथ ऐसा सिर्फ इसलिए होता है क्योंकि MySQL SQL के लॉजिक को तोड़ देता है।
मान लें कि हमारे पास टेबल एम्प है:
id ename dept
1 mark 10
2 John 10
3 Mary 10
4 Jane 20
और क्वेरी:
select dept, ename
from emp
group by dept;
तुम्हें क्या मिलेगा?तुम्हें दो लाइन मिलनी चाहिए, क्योंकि दो विभाग हैं, लेकिन सवाल ईनाम मांगता है। 20 के लिए स्पष्ट है लेकिन 10 के लिए इंजन को क्या वापस करना चाहिए?
यह एक त्रुटि वापस करनी चाहिए। अनुमान नहीं लगा सकता कि क्या ईनाम देना है। ओरेकल ने एक त्रुटि शूट की - आपकी त्रुटि, लेकिन MySQL को एक ईनाम मिलता है (जिसकी गारंटी नहीं है)। यह भ्रामक है और बग का संचालन कर सकता है।
सही प्रश्न होंगे:
select dept, max(ename) --the latest, alaphabeticaly
from emp
group by dept;
और
--all enames and groups
select dept, ename
from emp
group by dept, ename;
इस भाग को ठीक करने के बाद, आपको इसे हल करना होगा
COUNT(*) over() AS rowcount
अंश। ऑरैकल, AFAIK में, आप विश्लेषणात्मक कार्यों को समूह दर प्रश्नों के साथ नहीं मिला सकते हैं।