如何编写查询以获取具有相同重量的骑手的串联名称?

0 mysql mysql-8.0

我想从一个名为 的表中检索一个包含所有相同重量的 Riders 的表Rider,该表是这样定义的:

CREATE TABLE Rider(
    name VARCHAR(30),
    weight REAL,
    PRIMARY KEY(name)
) ENGINE=innodb;
Run Code Online (Sandbox Code Playgroud)

里面的数据是:

Alan  55
Ana   55
Anne  50
Bill  65
David 60
Julia 55
Peter 65
Stan  60
Run Code Online (Sandbox Code Playgroud)

我想要这样的结果:

50 Anne
55 Alan Ana Julia
60 David Stan
65 Bill Peter
Run Code Online (Sandbox Code Playgroud)

我不知道该怎么做。我只能设法按重量对它们进行排序:

  SELECT weight, name 
    FROM Rider 
GROUP BY weight;
Run Code Online (Sandbox Code Playgroud)

非常感谢所有帮助!

Der*_*ney 5

您正在寻找GROUP_CONCAT

SELECT weight, GROUP_CONCAT(name SEPARATOR ' ') as name_list
FROM Rider
GROUP BY weight
Run Code Online (Sandbox Code Playgroud)