CASE एक्सप्रेशन से कॉलम-विशिष्ट शर्ती एग्रीगेशन
WHERE क्लॉज के बजाय CASE स्टेटमेंट का उपयोग करके प्रत्येक चयनित फील्ड के लिए अलग-अलग शर्तें लागू करें।
टेबल बनाएं और डेटा डालें:
mysql> create table DemoTable1988 ( Value1 int, Value2 int, Price int ); Query OK, 0 rows affected (0.64 sec) mysql> insert into DemoTable1988 values(10,7,500); ...
क्वेरी: Value2=7 वाले Price का योग घटाएं Value1=7 वाले Price का योग:
mysql> select sum( case when Value2=7 then Price else 0 end) - sum( case when Value1=7 then Price else 0 end) as Result from DemoTable1988;
आउटपुट:
+--------+ | Result | +--------+ | 0 | +--------+ 1 row in set (0.23 sec)
व्याख्या: CASE WHEN शर्त पूरी होने पर Price जोड़ता है, अन्यथा 0। यह पंक्ति-स्तरीय शर्ती एग्रीगेशन की अनुमति देता है।