我从一张农家餐桌变成了这样的动物餐桌.还有一个类似的farmTotool表

id | FarmID  | animal
 1 |    1    | cat
 2 |    1    | dog

当我在视图中加入表时,得到的结果如下所示

FarmID | animal | tool
   1   |  cat   | shovel
   1   |  dog   | shovel
   1   |  cat   | bucket
   1   |  dog   | bucket

现在,我按FarmID分组,然后分组_CONCAT(动物)和分组_CONCAT(工具),我得到

FarmID |     animals     |         tools
  1    | cat,dog,cat,dog | shovel,shovel,bucket,bucket

但是,我真正想要的是这样的结果.我该怎么做?

FarmID | animals |    tools
  1    | cat,dog | shovel,bucket

推荐答案

您需要使用DISTINCT选项:

GROUP_CONCAT(DISTINCT animal)

Mysql相关问答推荐

在联合查询中使用GROUP BY和ORDER BY

Laravel DB::Transaction()

MYSQL 8.0 - 从 INFORMATION_SCHEMA.COLUMNS 获取表列重新调整其他不相关的列

如何根据购买的商品数量查找 unique_ids 的数量

从 MySQL 8.0.12 升级到 8.0.32 时出错

优化解析 5000 万行 MySQL 表的请求

将 Go var 传递给 MySQL - try 在 Go lang 程序 (MySQL db) 中执行 db.Exec 时出错

如何使用同一个表在 2 个字段上左连接

包含 group_contact 的视图的问题

mySQL 中的主数据库和 IF 错误?

查找同时玩过这两种游戏的玩家

Laravel classloader.php 错误打开流失败:没有这样的文件或目录

有什么方法可以显示`gunzip < database.sql.gz | 的进度? mysql ...`进程?

如何在sequelize中定义多列的唯一索引

ASP.NET EntityFramework 获取数据库名称

使用 mysql 处理非常大的数据

使用 MySql,我可以对列进行排序但最后有 0 吗?

在 MySQL 中仅 Select 仅包含字母数字字符的行

按 COUNT(*) 过滤?

MySQL 错误 2014 的原因在其他无缓冲查询处于活动状态时无法执行查询