mysql 合并相同的id,合并具有相同id的多个mysql行

I have a table like this:

id employee_id contract_id month year d1 d2 d3

1 25 1 11 2011 1 01 01

2 16 5 11 2011 1 11 0

3 29 3 11 2011 1 001 100

1 25 4 11 2011 0 11 011

Suppose I need data for month='11' AND year='2011', then for all rows having the same 'employee_id', the data should merge like this:

id employee_id contract_id month year d1 d2 d3

1 25 1,4 11 2011 1,0 01,11 01,011

2 16 5 11 2011 1 11 0

3 29 3 11 2011 1 001 100

I was trying GROUP_CONCAT but couldn't figure out the query. Please help.

解决方案SELECT

id,

employee_id,

GROUP_CONCAT(contract_id SEPARATOR ',') AS contract_ids,

`month`,

`year`,

GROUP_CONCAT(d1 SEPARATOR ',') AS d1s,

GROUP_CONCAT(d2 SEPARATOR ',') AS d2s,

GROUP_CONCAT(d3 SEPARATOR ',') AS d3s

FROM

`table`

WHERE

`month` = 11 AND `year` = 2011

GROUP BY

employee_id

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值