संभवतः, यह वह हिस्सा है जिसे समझने के लिए आप संघर्ष कर रहे हैं:
select deptno,
sum(case when jobname = 'Analyst' then 1 else 0 end) as numAnalysts
from employees
group by deptno
यह वास्तव में एक साधारण एकत्रीकरण क्वेरी है। क्वेरी क्या कर रही है:
- प्रत्येक पंक्ति को
employeesमें देखें - यदि
jobname'Analyst'है फिर1. का मान निर्दिष्ट करें (यहcaseहै बयान. Otherwise, assign a value of. का मान निर्दिष्ट करें 0`. - विभाग द्वारा कुल, अभी गणना किए गए मूल्य का योग। यह विश्लेषकों की संख्या गिनने का प्रभाव है।
case एक अभिव्यक्ति है जो एक मान लौटाती है। sum() बस प्रत्येक समूह के लिए उस मान को जोड़ रहा है।