[英]merge two rows with same id but different column values into one row [mysql]
我已经加入了两个表并获得了一个结果集,该结果集对于相同的id或者说类型有不同的行,但是它们具有不同的列值。
例如。
leave_type | max Days | jan | feb | mar | apr
Personal | 12 | 0.00 | 0.00 | 2.00 | 0.00
Personal | 12 | 1.00 | 0.00 | 0.00 | 0.00
Sick | 5 | 0.00 | 0.00 | 1.00 | 0.00
我希望结果如下:
leave_type | max Days | jan | feb | mar | apr
Personal | 12 | 1.00 | 0.00 | 2.00 | 0.00
Sick | 5 | 0.00 | 0.00 | 1.00 | 0.00
怎么能在mysql中完成?
很感谢任何形式的帮助。 谢谢。
您只需使用聚合查询:
select leave_type, maxDays,
sum(jan) as jan, sum(feb) as feb, sum(mar) as mar, sum(apr) as apr
from t
group by leave_type, maxDays ;
尝试按假类型汇总并获取月份列的总和:
SELECT
leave_type,
MAX(`max Days`) AS max_days,
SUM(jan) AS jan,
SUM(feb) AS feb,
SUM(mar) AS mar,
SUM(apr) AS apr
FROM yourTable
GROUP BY leave_type;
目前尚不清楚特定假期类型的最大天数是否总是相同。 无论如何,我随意保留最大值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.