Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL:किसी अन्य स्तंभ के मान के आधार पर किसी स्तंभ का SUM

अलग-अलग leave_hours . के योग के लिए आपको कंडीशनल एग्रीगेशन का इस्तेमाल करना होगा अलग से:

SELECT employee_id, 
       SUM(overtime_hours) AS ot, 
       SUM(CASE WHEN leave_type = 1 THEN leave_hours ELSE 0 END) AS leave_1, 
       SUM(CASE WHEN leave_type = 2 THEN leave_hours ELSE 0 END) AS leave_2
FROM `table`
GROUP BY employee_id

आउटपुट:

employee_id ot      leave_1     leave_2
3           2.3     7.6         5

dbfiddle पर डेमो

ध्यान दें कि यदि आप घंटों को स्टोर करने के लिए फ्लोटिंग पॉइंट नंबरों का उपयोग करते हैं, तो आपको ROUND . की आवश्यकता हो सकती है परिणाम।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL - केवल तभी चुनें जब LEFT JOIN में पंक्ति मौजूद न हो

  2. मैं MySQL में कमांड लाइन का उपयोग करके उपयोगकर्ता खातों की सूची कैसे प्राप्त कर सकता हूं?

  3. MySQL - की जटिलता:MyTable से COUNT(*) चुनें;

  4. MySQL के साथ Haversine Fomula आस-पास के स्थान प्राप्त करें

  5. 2 या अधिक दिनांक सीमा को 1 . में कैसे मर्ज करें