如何更改SQL查询输出?

如何更改SQL查询输出?,sql,mysql,Sql,Mysql,我使用这个简单的SQL查询从MySQL数据库中的两个表中检索数据: SELECT customer_id, domain_name FROM customers_orders INNER JOIN orders ON order_id = sub_id 结果与此类似: 1114 somedomain.com 1115 anotherdomain.net 1116 domain1.org 1116 domain2.com 我如何告诉它给我一个类似于以下内容的输出: 11

我使用这个简单的SQL查询从MySQL数据库中的两个表中检索数据:

SELECT customer_id, domain_name
FROM customers_orders
INNER JOIN orders ON order_id = sub_id
结果与此类似:

1114    somedomain.com
1115    anotherdomain.net
1116    domain1.org
1116    domain2.com
我如何告诉它给我一个类似于以下内容的输出:

1114    somedomain.com
1115    anotherdomain.net
1116    domain1.org, domain2.com
以避免两条线路具有相同的客户id。。。我想知道使用SQL是否可能?我是SQL的初学者,非常感谢您在这方面的帮助

非常感谢

不,不是。如其他人所建议的,可以通过
组\u CONCAT
。但我不建议使用它。最好在处理代码中处理这个问题。它将更易于阅读和维护。

试试这样的方法

SELECT customer_id, GROUP_CONCAT(domain_name SEPARATOR ',')
FROM customers_orders
INNER JOIN orders ON order_id = sub_id
GROUP BY customer_id
您可以使用以下选项:

SELECT customer_id, GROUP_CONCAT(domain_name ORDER BY domain_name SEPARATOR ', ') domain_name
FROM customers_orders INNER JOIN orders 
ON order_id = sub_id
GROUP BY customers_orders.customer_id
请尝试下一步:

select customer_id, group_concat(domain_name separator ', ')
    from customers_orders group by customer_id

这肯定是有可能的。如果你在谷歌上搜索“sql+GroupbyConcat”,那么你会发现不同的解决方案。用户聚合函数,可能称为字符串聚合函数。甲骨文中的STRAGG.+1表示组_concat:)虽然我认为使用它不是一个好的实践,但它解决了问题。非常感谢!你让我开心:D