SQL查询问题行\u CONCAT

SQL查询问题行\u CONCAT,sql,Sql,我在这个问题上纠缠了很久。。。我希望外面有人能帮我一把 下表在我的数据库中: Product_ID Color Type 1 Red Leather 1 Silver Metal 1 Blue Leather 2 Orange Metal 2 Purple Metal 我正在尝试获得以下输出: Product_ID Type Color 1 Leather

我在这个问题上纠缠了很久。。。我希望外面有人能帮我一把

下表在我的数据库中:

Product_ID Color   Type
1          Red     Leather
1          Silver  Metal
1          Blue    Leather
2          Orange  Metal
2          Purple  Metal
我正在尝试获得以下输出:

Product_ID Type    Color
1          Leather Red, Blue
1          Metal   Silver
2          Metal   Orange, Purple
我知道这与某种双重分组和分组有关。。。。我看了一个小时都没弄明白。非常感谢您的帮助

试试这个

SELECT Product_ID, Type, GROUP_CONCAT(Color)
FROM Products
GROUP BY Product_ID, Type

您没有提到您正在使用哪个数据库,但我假设使用MySQL,因为您提到了GROUP_CONCAT.

用于哪个数据库?GROUP_CONCAT受MySQL和SQLite…+1支持,@DaveC请记住GROUP by将GROUP by中列出的列中具有相同值的所有行组合在一起。聚合函数组_CONCAT()从需要组合的所有行中获取不同的值,并生成单个值。然后返回单个值。因此,在本例中,您将为Product_ID和Type的每个唯一组合获得一个结果集行。然后,对于这些行中的每一行,颜色值通过组_CONCAT()连接在一起。