Bạn cần sử dụng tính năng tổng hợp có điều kiện để tính tổng các leave_hours
khác nhau riêng:
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
Đầu ra:
employee_id ot leave_1 leave_2
3 2.3 7.6 5
Lưu ý rằng nếu bạn sử dụng số dấu phẩy động để lưu trữ giờ, bạn có thể cần phải ROUND
kết quả.