sql行转列,列转行 发表于 2017-06-13 | 分类于 sql有时候需要行转列或者列转行在Oracle 11g中,Oracle 又增加了2个查询:pivot(行转列) 和unpivot(列转行)下面是在mysql中的操作:1234567891011121314151617181920212223242526272829mysql> select * from test;+------+------+--------+| id | age | weigth |+------+------+--------+| 1 | 1 | 3 || 1 | 2 | 2 || 1 | 3 | 1 || 2 | 5 | 6 |+------+------+--------+4 rows in set (0.00 sec)#根据ID分组mysql> select group_concat(age) from test group by id;+-------------------+| group_concat(age) |+-------------------+| 1,2,3 || 5 |+-------------------+2 rows in set (0.01 sec)#不分组mysql> select group_concat(age) from test;+-------------------+| group_concat(age) |+-------------------+| 1,2,3,5 |+-------------------+1 row in set (0.00 sec)