MySQL - 查询将表中的行与on字段中的重复值合并

时间:2012-06-13 14:55:44

标签: mysql merge

我在数据库上很新,非常感谢一些帮助,我有一个以下格式的数据库:

ID     Nbr     Data1     Data2    Data3
1      1       a    
2      1                 b
3      1                          c
4      2       d    
5      2                 e
6      2                          f

并希望能够通过MySQL查询提取以下格式的数据:

Nbr     Data1     Data2    Data3
1       a         b        c
2       d         e        f

我知道将数据放在非标准化格式上并不是最佳做法,但遗憾的是我无法更改源数据。

感谢你的帮助!

2 个答案:

答案 0 :(得分:4)

SELECT Nbr, 
           Max(data1) data1, 
           Max(data2) data2, 
           Max(Data3) data3 
    FROM   table 
    GROUP  BY Nbr 

答案 1 :(得分:3)

Insert into newtable 
    select ID,Nbr,max(Data1),max(Data2),max(Data3) from table group by Nbr

试试这个让我知道它是否有效