示例表1:
ID Color
143 Blue
213 Black
934 Green
902 Red
894 Orange
我正在寻找的结果是这样的字符串=('143','213','934','902','894')
我从“ SELECT ID FROM Table1 GROUP BY ID”开始
我知道我可以像这样写一个长的手动语句:“'” +从Table1 LIMIT 1的SELECT ID +“','” +从Table1 LIMIT 1的SELECT ID偏移1 +“','” + ...
但是我的实际表长10万行,带有2000+个唯一ID,所以这是不可能的。
答案 0 :(得分:2)
set1 = set(list1)
set2 = set(list2)
set3 = set(list3)
set4 = set(list4)
print((set1 ^ set2 ^ set3 ^ set4) - (set1 & set2 & set3 & set4))
#{0, 1, 4, 'a'}
这假设#standardSQL
SELECT STRING_AGG(DISTINCT CONCAT("'", CAST(id AS STRING), "'"))
FROM `project.dataset.table`
字段不是字符串-但如果它已经是字符串-您可以省略CAST的使用
答案 1 :(得分:1)
一种方法是:
SELECT CONCAT("('",
STRING_AGG(DISTINCT CAST(id AS STRING), "','"),
"')"
)
FROM t;