MySQL select distinct not getting desired query result MySQL select distinct不获取所需的查询结果
MySQL select distinct not getting desired query result MySQL select distinct不获取所需的查询结果
我有一个包含以下数据的数据库表:\n
+--------------------+-----------------------------+ | order_no | part | +--------------------+-----------------------------+ | AAAAAAAAAAAAA | QQQQQQQQ-WWW | | AAAAAAAAAAAAA | EEEEEEEE-TTT | | BBBBBBBBBBBBB | 33333333-333 | | BBBBBBBBBBBBB | 44444444-444 | | BBBBBBBBBBBBB | EEEEEEEE-TTT | +--------------------+-----------------------------+
\n我的问题是我无法通过查询来产生以下结果:\n
+----------------+-------------------------------------------+ | order_no | part | +----------------+-------------------------------------------+ | AAAAAAAAAAAAA | QQQQQQQQ-WWW, EEEEEEEE-TTT | | BBBBBBBBBBBBB | 33333333-333, 44444444-444, EEEEEEEE-TTT | +----------------+-------------------------------------------+
\n提前感谢。
问题原因:MySQL的select distinct语句无法得到预期的查询结果。
解决方法:使用group_concat聚合函数。
示例代码:
SELECT order_no, GROUP_CONCAT(part SEPARATOR ', ') FROM mytable GROUP BY order_no
以上是一种解决select distinct无法得到预期结果的方法。通过使用group_concat函数,可以将相同order_no的part字段的值合并成一个以逗号分隔的字符串,并将结果按照order_no进行分组。这样就可以得到每个order_no对应的所有part字段值的合并结果。