我有一个mysql表,如下图所示。
我想查询此表,以便获取如下数据:
我正在使用以下查询。
SELECT SUM(TOTAL_HOURS) AS TOTAL_HOURS, CLIENT_ID, `DAY`
FROM timesheet_slave
GROUP BY CHARGE_ID, `DAY`;
得到如下结果:
如何将类似的行与客户端ID合并并获取数据,如下表所示?
任何帮助将不胜感激。感谢
答案 0 :(得分:1)
您可以使用条件聚合,如下所示:
SELECT CLIENT_ID,
SUM(IF(`DAY`='Working', TOTAL_HOURS, 0)) AS TOTAL_WORKING_HOURS,
SUM(IF(`DAY`='Holiday', TOTAL_HOURS, 0)) AS TOTAL_HOLIDAY_HOURS
FROM timesheet_slave
GROUP BY CLIENT_ID ;