select tu.mr_fname, tu.mr_lname, count(ts.mr_id) as `count`
from tbl_user tu
inner join tbl_schedule ts on ts.mr_id = tu.mr_id and
ts.sch_date between '2012-01-01' and '2012-08-01'
group by tu.mr_id
उपरोक्त आपको सभी उपयोगकर्ताओं को शेड्यूल में एक पंक्ति के साथ मिल जाएगा। तो 0 की गिनती वाले उपयोगकर्ता दिखाई नहीं देंगे।
select tu.mr_fname, tu.mr_lname, count(ts.mr_id) as `count`
from tbl_user tu
left join tbl_schedule ts on ts.mr_id = tu.mr_id and
ts.sch_date between '2012-01-01' and '2012-08-01'
group by tu.mr_id
यह क्वेरी उपयोगकर्ता के पहले नाम और अंतिम नाम का चयन करेगी और शेड्यूल तालिका में उपयोगकर्ता आईडी के प्रकट होने की संख्या की गणना करेगी।
यह यूजर आईडी के आधार पर समूह बनाकर करता है।
और इसके अतिरिक्त यह यूजर आईडी और तारीख के आधार पर लेफ्ट जॉइन का उपयोग करता है। यहां तारीख की शर्त रखना जरूरी है ताकि सभी यूजर्स का चयन हो जाए। ऐसा इसलिए है क्योंकि लेफ्ट जॉइन में वे सभी उपयोगकर्ता शामिल होंगे जो मेल नहीं खाते। लेकिन अगर आप इसे जहां क्लॉज पर रखते हैं, तो सभी यूजर्स नहीं चुने जाएंगे। दूसरे शब्दों में, 'गेरी चंदन' के लिए आपको शून्य की गिनती नहीं मिलेगी यदि आप तारीख की शर्त को जहां क्लॉज में डालते हैं। इसके बजाय उसे परिणामों से दूर रखा जाएगा।