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
我有数据库 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