php - mysql 查询避免重复结果

标签 php mysql

我有多个表,如下所示:

表 1:产品

+-----+----------+--------+---------------------+
| id  |   biz_id | name   |    message          |
+-----+----------+--------+---------------------+
| 1   |   1      | test1  | One tow three       |
| 2   |   1      | test1  | One tow three       |
| 3   |   1      | test1  | One tow three       |
| 4   |   2      | test2  | hello world         |
| 5   |   2      | test2  | hello world         |   
+-----+----------+--------+---------------------+

表 2:图像

+-----+----------+--------------+-------------------+
| id  |   biz_id | product_id   |    path           |
+-----+----------+--------------+-------------------+
| 1   |   1      | 1            | img/qwert1.jpg    |
| 2   |   1      | 2            | img/qwert2.jpg    |
| 3   |   1      | 3            | img/qwert3.jpg    |
| 4   |   2      | 4            | img/qwery4.jpg    |
| 5   |   2      | 5            | img/qwert5.jpg    |   
+-----+----------+--------------+-------------------+

连接多个表时如何避免 mysql 中的重复?

我的查询是连接两个表,这样我想避免重复的产品(按名称获取不同的产品)并获取与该产品关联的所有图像(例如,产品>名称 - test1 具有图像 qwert1.jpg、qwert2.jpg, qwert2.jpg )

最佳答案

SELECT p.name, GROUP_CONCAT(i.path)
  FROM product AS p
  INNER JOIN images AS i ON p.id = i.product_id
  GROUP BY p.name;

请注意,这不是标准 SQL,但大多数 DBMS 都提供此功能(尽管关键字可能有点不同)。

关于php - mysql 查询避免重复结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34128330/

相关文章:

mysql - 在mysql中添加行

mysql - 使用 MySql 用户变量的分歧

mysql - 如何在不破坏优先级顺序的情况下通过 MySQL 连接优先级队列?

php - 使用 Laravel 执行单元测试以加载自定义设置文件时出错

php - 无法通过 $.ajax 函数发送 $_POST

PHP 在 if 语句中组合 boolean 运算符(AND、OR)

java - 无法运行 PHP、MySQL、Apache 和 NetBeans(均为 2016 年最新版本)

mysql - 如何在 sql 查询中使用条件运算符和 like ?

php - MySQLi count(*)始终返回1

php - 使用正则表达式选择一个 YAML block