mysql查询组合相同字段_mysql 表行数据根据某个相同字段合并的的sql语句怎么写...

mysql 表行数据根据某个相同字段合并的的sql语句怎么写啊!

例如一张表:

原表

id  | staff          | record

1   | vip             | 16:25:00

2   | ken           | 16:25:10

3   | vip             | 16:38:00

4   | ken           | 16:38:00

5   | ken           | 16:42:00

目标

id    | staff        |  record1         |   record2         |  record3

1     |  vip          | 16:25:00        |  16:38:00        |  null

2     | ken         |  16:25:10       |   16:38:00        | 16:42:00

这是个例子,实际上原表很多行数据的,所以静态的写法就不用写了。

解决方案

10

目前只能实现这个,希望对你有点帮助~

select id,staff,group_concat(record separator “|”) from test group by staff;

10

1、按 staff分组,取最大COUNT(*)(bz)

2、打开游标循环取值,字符串累加生成SQL语句,如下述格式

sum(if(bz=1,…,….)),

sum(if(bz=2,…,….)),

….

再执行

30

sql语句:

select max(bz) into @nu from (

select staff,count(*) as bz from tt group by staff) a

sp循环

set i=1;

set @asql=””;

while i<=@nu do

set @asql=concat(“sum(if(bz=”,i,…)  本人写SQL语句

set i=i+1;

end while

生成标识字段:

set @q=1;

set @a=””;

select *,@q:=if(@a=staff,@q+1,1),@a=staff from tt

10

select * from 原表 A ,目标 B where A.id=B.id

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明mysql 表行数据根据某个相同字段合并的的sql语句怎么写!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值