MySQL Concat 查询备选方案

MySQL Concat query alternative

我有数据库 table :

+----+--------+-----------+
| id |  name  | know_from |
+----+--------+-----------+
|  1 | Andy   |           |
|  2 | Tony   | Andy      |
|  3 | Ben    | Andy      |
|  4 | Miller | Ben       |
|  5 | Bob    | Tony      |
|  6 | Scott  | Andy      |
+----+--------+-----------+

如何有效地查询它并期待如下结果:

+----+--------+-------+------------------+
| id |  name  | total |  reference_list  |
+----+--------+-------+------------------+
|  1 | Andy   |     3 | Tony, Ben, Scott |
|  2 | Tony   |     1 | Bob              |
|  3 | Ben    |     1 | Miller           |
|  4 | Miller |     0 |                  |
|  5 | Bob    |     0 |                  |
|  6 | Scott  |     0 |                  |
+----+--------+-------+------------------+

我有一个使用 GROUP_CONCAT( know_from SEPARATOR ',') 的解决方案,但服务器仍在使用不支持此语法的 MySQL ver 5.1。任何查询替代?提前致谢!

P.S.)不要告诉我更新版本作为解决方案

尝试在组连接之前用分隔符连接名称字符串

group_concat(concat(name,','))

并从结果字符串中删除最后一个

试试这个:

group_concat(`name` separator ',') as Name