SQLselect查询同一用户标识的同一列中的不同值

时间:2018-07-03 19:25:44

标签: mysql

我在MySQL中有下表:

id      name       destination     rating     country
----------------------------------------------------
1       James      Barbados        5          WI
1       James      Antigua         6          WI
1       James      mumbai          3          WI
2       Declan     Trinidad        2          WI
2       Declan     Barbados        4          WI
2       Declan     Trinidad        3          WI

我想编写一个选择查询,例如将获取名称和目的地

name destination1 destination2 destination3
James mumbai       Antigua      Barbados  

1 个答案:

答案 0 :(得分:0)

您可以这样做

SELECT id, GROUP_CONCAT(destination DESC SEPARATOR ' ') FROM tablename GROUP BY id;

但是,必须要说的是,信息在模型中的结构不是很好,您应该至少创建3个表,例如

USER
id  name

DESTINATIONS
id  destination     rating     country

USERS_DESTINATIONS
id  iduser  iddestination