如何将结果集行转换为列

时间:2012-04-04 15:49:03

标签: mysql

我正在获得这样的结果集

user_id
57
83
71
40
96
58
99
27

现在我想将这八行存储到八列中,这样任何人都可以告诉我如何将行转换为列

2 个答案:

答案 0 :(得分:2)

这是一个数据透视表。

以下是有关如何在MySQL中进行透视的教程的链接:http://www.artfulsoftware.com/infotree/queries.php#78

关于这个问题,关于SO还有很多问题/答案。

答案 1 :(得分:2)

尝试以下:

 SELECT
    if(user_id=57, 57, '') as user57,
    if(user_id=57, 83, '') as user83,
    if(user_id=57, 71, '') as user71,
    if(user_id=57, 40, '') as user40,
    if(user_id=57, 96, '') as user96,
    if(user_id=57, 58, '') as user58,
    if(user_id=57, 99, '') as user99,
    if(user_id=57, 27, '') as user27,
    FORM tablename

假设您的行已修复。