MySQL GROUP_CONCAT() 不同值
使用 MySQL 时,通常使用 GROUP_CONCAT() 函数聚合数据。但是,如果您需要确保串联结果不同怎么办?
让我们考虑以下场景:
SELECT GROUP_CONCAT(categories SEPARATOR ' ') FROM table;
使用示例数据:
categories ---------- test1 test2 test3 test4 test1 test3 test1 test3
这个查询将返回 test1 test2 test3 test4 test1 test3。虽然这包括所有类别,但它不会删除重复项。
为了使用 GROUP_CONCAT() 获取不同的值,MySQL 提供了 DISTINCT 属性。将 DISTINCT 添加到查询可确保仅连接不同的值:
SELECT GROUP_CONCAT(DISTINCT categories ORDER BY categories ASC SEPARATOR ' ') FROM table;
通过使用 DISTINCT,重复值 test1 test3 被删除,从而产生所需的输出: test1 test2 test3 test4.
此修改不仅消除了重复项,还按升序对连接的值进行排序,从而提供更有条理的输出。
以上是如何使用 MySQL 的 GROUP_CONCAT() 获取不同的值?的详细内容。更多信息请关注PHP中文网其他相关文章!