mysql - MySQL Concat 查询替代方案
问题描述
我有数据库表:
+----+--------+-----------+
| 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 5.1 版。任何查询替代方案?提前致谢!
PS)不要告诉我更新版本作为解决方案
解决方案
尝试将名称字符串与组 concat 之前的分隔符连接起来
group_concat(concat(name,','))
并从结果字符串中删除最后一个, 。
推荐阅读
- db2 - 在 select 语句中添加空白列后,DB2 查询未提供任何数据
- python - 将二元分类修改为多类分类(逻辑回归)
- css - 打印时 CSS Grid 拆分为多个页面
- android - Gradle 插件“com.apollographql.apollo”未在 Android Studio 中同步
- router - 离子中的canActivate和canLoad有什么区别
- javascript - 如何根据我的 html 输入创建 javascript if 语句?
- visual-studio-code - 将“.default”添加到 package.json 中的 VScode 扩展的配置设置有什么影响?
- python - Selenium find_elements By.XPATH 试图提取 href urls 错误
- google-cloud-platform - Google Cloud 文字转语音字符数
- brython - 在 Object._b_.NotImplementedError.$factory 处出错(使用 Brython 在 $make_exc 处进行评估