mysql - group_concat Mysql 如何在一个查询中选择

标签 mysql group-concat

我的 MySQL 查询是:

SELECT products_id, options_id, options_values_id FROM products_options po, products_attributes pa WHERE pa.options_id=po.products_options_id AND po.products_options_name LIKE '%Velikost%' AND po.language_id=7 group by products_id, options_values_id

它给出输出:

products_id options_id options_values_id    
3   3501    13227
3   3501    13230
4   3501    13226
4   3501    13227
4   3501    13230
4   3501    13231
5   3501    13226
5   3501    13227
5   3501    13230
5   3501    13231
6   3501    13226
6   3501    13227
6   3501    13230
6   3501    13231

现在我希望有这样的输出:

3   3501 '13227, 13230'
4   3501 '13226, 13227, 13230, 13231'
5   3501 '13226, 13227, 13230, 13231'
6   3501 '13226, 13227, 13230, 13231'

我正在尝试使用 group_concat 进行查询

SELECT products_id, options_id, group_concat( options_values_id )
FROM products_options po, products_attributes pa
WHERE pa.options_id = po.products_options_id
AND po.products_options_name LIKE '%Velikost%'
AND po.language_id =7
GROUP BY products_id, options_values_id

但它返回:

products_id options_id group_concat(options_values_id)  
3   3501    13227,13227,13227
3   3501    13230,13230,13230
4   3501    13226,13226,13226
4   3501    13227,13227,13227
4   3501    13230,13230,13230
4   3501    13231,13231,13231
5   3501    13226,13226,13226
5   3501    13227,13227,13227
5   3501    13230,13230,13230
5   3501    13231,13231,13231
6   3501    13226,13226,13226
6   3501    13227,13227,13227
6   3501    13230,13230,13230
6   3501    13231,13231,13231

你能告诉我我做错了什么吗? 谢谢

最佳答案

试试这个。

SELECT products_id, options_id, group_concat( options_values_id )
FROM products_options po, products_attributes pa
WHERE pa.options_id = po.products_options_id
AND po.products_options_name LIKE '%Velikost%'
AND po.language_id =7
GROUP BY products_id,options_id;

关于mysql - group_concat Mysql 如何在一个查询中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37577573/

相关文章:

MySQL:对列上的元素进行分组和展平

mysql - 如何在 mysql 中将列中的前 3 个字段显示为水平行?

mysql - 使用 "|"作为分隔符将列转换为行

java - Hibernate @Generate 注释不起作用

php - 如何使用 PHP 对 MySQL 数据库进行安全调用?

php - mysql SELECT 中的运行总计

php - Mysql PHP 循环

mysql - GROUP CONCAT 由于某种原因不工作

mysql - 连接多列并在行内排序

mysql - 如何避免mysql select结果中group_concat分隔符重复