ناساندنی HAVING
کاتێک ئێمە داتا گروپ دەکەین بە بەکارهێنانی GROUP BY، هەندێک جار پێویستمان بەوە دەبێت کە تەنها ئەو گروپانە نیشان بدەین کە مەرجێکی دیاریکراویان تێدایە. لێرەدا فەرمانی HAVING دێتە کایەوە. فەرمانی HAVING هاوشێوەی WHERE کار دەکات، بەڵام بۆ گروپەکان بەکاردێت نەک بۆ ڕیزە تاکەکان.
بەکارهێنانی HAVING لەگەڵ Aggregate Functions
زۆربەی کات HAVING لەگەڵ کۆمەڵێک فەرمانی وەک COUNT، SUM، یان AVG بەکاردێت. بۆ نموونە، ئەگەر بتەوێت بزانیت کام بەشە لە کۆمپانیاکەت زیاتر لە ٥ کارمەندی هەیە، دەبێت HAVING بەکاربهێنیت.
SELECT department, COUNT(*) as total_employees
FROM employees
GROUP BY department
HAVING COUNT(*) > 5;لە نموونەکەی سەرەوەدا، سەرەتا داتاکان بەپێی بەش گروپ دەکرێن، پاشان HAVING تەنها ئەو گروپانە دەهێڵێتەوە کە ژمارەی کارمەندەکانیان لە ٥ زیاترە. هەڵەی باو لێرەدا ئەوەیە کە هەندێک کەس هەوڵ دەدەن COUNT لە ناو WHERE بەکاربهێنن کە دەبێتە هۆی هەڵەی SQL.
جیاوازی نێوان WHERE و HAVING
زۆر گرنگە بزانیت کەی کامەیان بەکاربهێنیت. WHERE بۆ فلتەرکردنی ڕیزەکانە پێش ئەوەی گروپ بکرێن، بەڵام HAVING بۆ فلتەرکردنی ئەنجامی گروپەکانە.
SELECT category, SUM(price) as total_sales
FROM products
WHERE status = 'active'
GROUP BY category
HAVING SUM(price) > 1000;لێرەدا WHERE تەنها بەرهەمە چالاکەکان وەردەگرێت، پاشان GROUP BY گروپەکانیان دروست دەکات، و لە کۆتاییدا HAVING تەنها ئەو گروپانە نیشان دەدات کە کۆی نرخەکەیان لە ١٠٠٠ زیاترە.
بەکارهێنانی HAVING بەبێ GROUP BY
ئەگەر HAVING بەبێ GROUP BY بەکاربهێنیت، ئەوا وەک WHERE کار دەکات، بەڵام ئەمە شێوازێکی باو نییە و پێشنیار ناکرێت. بەگشتی HAVING تەنها کاتێک بەکاربهێنە کە GROUP BY لە پرسیارەکەدا هەبێت.
نموونەی کۆتایی: دۆزینەوەی کڕیارە چالاکەکان
با گریمانە بکەین دەمانەوێت ئەو کڕیارانە بدۆزینەوە کە زیاتر لە ٣ فەرمانی کڕینیان ئەنجام داوە.
SELECT customer_id, COUNT(order_id) as order_count
FROM orders
GROUP BY customer_id
HAVING order_count > 3
ORDER BY order_count DESC;ئەم پرسیارە زۆر بەسوودە بۆ دۆزینەوەی کڕیارە دڵسۆزەکان. هەڵەی باو لێرەدا ئەوەیە کە هەندێک جار لە HAVING ناوی کورتکراوەی (Alias) وەک order_count بەکارناهێنن و ڕاستەوخۆ COUNT(order_id) دەنووسنەوە، کە هەردووکیان دروستن بەڵام بەکارهێنانی Alias خوێندنەوەی کۆدەکە ئاسانتر دەکات.
ڕاهێنان
خۆت تاقی بکەرەوە: خشتەیەکمان هەیە بە ناوی 'students' کە ناوی قوتابی و نمرەکانی تێدایە. پرسیارێک بنووسە کە ناوی هەموو ئەو وانانە (subject) بهێنێت کە تێیدا تێکڕای نمرەی قوتابیەکان (AVG) لە ٧٠ زیاترە.
ئەمانە ئەم فێرکارییەیان تەواوکردووە
1 فێرخواز تەواویان کردووە