BigQuery查询时如何从结果表中排除指定姓名的人员记录
问题根源
你现有查询的WHERE过滤条件逻辑错误,OR运算符无法实现同时排除两个指定值的效果:对于任意一条记录的person值,最多只会等于两个排除值中的一个,因此你写的person <> 'A' OR person <> 'B'条件永远为真,等于没有生效过滤规则。
修正后查询代码
推荐使用更简洁的NOT IN语法实现多值排除,注意保留原排除值末尾的空格保证匹配准确:
SELECT person, COUNT(1) AS count_mentions, COUNT(DISTINCT url) AS count_distinct_urls FROM `top-reef-311415.56146_2021_Gad.israel_media_person` WHERE person NOT IN ('Maccabi Haifa ', 'Reuben Castro ') GROUP BY person ORDER BY count_mentions DESC LIMIT 10;
如果你想用不等于的写法,需要把OR替换为AND:
WHERE person <> 'Maccabi Haifa ' AND person <> 'Reuben Castro '
内容的提问来源于stack exchange,提问作者Gad_Rachmany
相关产品推荐
相关产品推荐

