Google bigquery 在大查询中是否可以从字符串中删除重复项?
因此,我们一直在处理一些数据,目前已经按照 客户原因 客户1 |回答1,回答3,回答2,回答4,回答5,回答1,回答3,回答1 在大查询标准sql中,是否有任何方法可以消除这个字符串中的重复项,并以下面的输出结束 客户原因 客户1 |回答1,回答3,回答2,回答4,回答5Google bigquery 在大查询中是否可以从字符串中删除重复项?,google-bigquery,Google Bigquery,因此,我们一直在处理一些数据,目前已经按照 客户原因 客户1 |回答1,回答3,回答2,回答4,回答5,回答1,回答3,回答1 在大查询标准sql中,是否有任何方法可以消除这个字符串中的重复项,并以下面的输出结束 客户原因 客户1 |回答1,回答3,回答2,回答4,回答5 提前感谢假设我正确理解了这个问题,您想要的是: SELECT (SELECT STRING_AGG(DISTINCT s, ', ') FROM UNNEST(SPLIT(Customer1, ', ')) AS s
提前感谢假设我正确理解了这个问题,您想要的是:
SELECT
(SELECT STRING_AGG(DISTINCT s, ', ')
FROM UNNEST(SPLIT(Customer1, ', ')) AS s) AS Customer1
FROM dataset.table
这将拆分“,”分隔符上的字符串,然后将子字符串聚合为一个新字符串,并使用DISTINCT关键字删除重复项。假设我正确理解了问题,您需要类似以下内容:
SELECT
(SELECT STRING_AGG(DISTINCT s, ', ')
FROM UNNEST(SPLIT(Customer1, ', ')) AS s) AS Customer1
FROM dataset.table
这将在“,”分隔符上拆分字符串,然后将子字符串聚合为一个新字符串,并使用DISTINCT关键字删除重复项。投票支持Elliott的答案时-希望添加另一个选项BigQuery Standard SQL: 标准SQL 将'project.dataset.table'作为 选择“Customer1”客户,“Answer1,Answer3,Answer2,Answer4,Answer5,Answer1,Answer3,Answer1”答案 选择*替换 数组到字符串数组选择不同的答案 来自UNNESTSPLITanswers,“,”作为答案 ,作为答案 来自“project.dataset.table” 这会产生你需要的结果 世界其他地区客户回答 1客户1回答1,回答3,回答2,回答4,回答5 如果出于某种原因,您希望对这些值进行排序,只需添加一行,如下所示 标准SQL 将'project.dataset.table'作为 选择“Customer1”客户,“Answer1,Answer3,Answer2,Answer4,Answer5,Answer1,Answer3,Answer1”答案 选择*替换 数组到字符串数组选择不同的答案 来自UNNESTSPLITanswers,“,”作为答案 按答案排序 ,作为答案 来自“project.dataset.table” 结果是 世界其他地区客户回答 1客户1回答1,回答2,回答3,回答4,回答5
注意:排序中最可能的需求与您的问题中的特定用例无关-在投票支持Elliott的答案时,它在其他情况下非常方便-希望添加另一个选项BigQuery标准SQL: 标准SQL 将'project.dataset.table'作为 选择“Customer1”客户,“Answer1,Answer3,Answer2,Answer4,Answer5,Answer1,Answer3,Answer1”答案 选择*替换 数组到字符串数组选择不同的答案 来自UNNESTSPLITanswers,“,”作为答案 ,作为答案 来自“project.dataset.table” 这会产生你需要的结果 世界其他地区客户回答 1客户1回答1,回答3,回答2,回答4,回答5 如果出于某种原因,您希望对这些值进行排序,只需添加一行,如下所示 标准SQL 将'project.dataset.table'作为 选择“Customer1”客户,“Answer1,Answer3,Answer2,Answer4,Answer5,Answer1,Answer3,Answer1”答案 选择*替换 数组到字符串数组选择不同的答案 来自UNNESTSPLITanswers,“,”作为答案 按答案排序 ,作为答案 来自“project.dataset.table” 结果是 世界其他地区客户回答 1客户1回答1,回答2,回答3,回答4,回答5 注意:排序中最可能的需求与您的问题中的特定用例无关-它可以在其他情况下很方便