【发布时间】:2015-04-22 16:21:27
【问题描述】:
在 BigQuery 中使用 GROUP_CONCAT 时,我试图获取不同的值。
我将使用一个更简单的静态示例重新创建这种情况:
编辑:我修改了示例以更好地代表我的实际情况:2 列带有 group_concat 需要区分:
SELECT
category,
GROUP_CONCAT(id) as ids,
GROUP_CONCAT(product) as products
FROM
(SELECT "a" as category, "1" as id, "car" as product),
(SELECT "a" as category, "2" as id, "car" as product),
(SELECT "a" as category, "3" as id, "car" as product),
(SELECT "b" as category, "4" as id, "car" as product),
(SELECT "b" as category, "5" as id, "car" as product),
(SELECT "b" as category, "2" as id, "bike" as product),
(SELECT "a" as category, "1" as id, "truck" as product),
GROUP BY
category
这个例子返回:
Row category ids products
1 a 1,2,3,1 car,car,car,truck
2 b 4,5,6 car,car,bike
我想去掉找到的重复值,返回如下:
Row category ids products
1 a 1,2,3 car,truck
2 b 4,5,6 car,bike
在 MySQL 中,GROUP_CONCAT 有一个 DISTINCT OPTION,但在 BigQuery 中没有。
有什么想法吗?
【问题讨论】:
-
我觉得有点像但又不完全一样,不过感谢指点@Pentium10
标签: distinct google-bigquery group-concat