sql - GoogleSQL - 选择如果
问题描述
我正在使用数据集 - 结构如下
我想排除所有 ReviewRound 为“a”的记录,如果它们已经通过了“b”轮审查- 如果一组唯一 ID 具有关联的“b”轮审查,则不应包括“a”轮审查。
有些记录还没有进入“b”轮。我遇到的问题是由于每个唯一 ID 有多个记录。
理想情况下,这可以在 GoogleBigQuery 中完成,如果没有,也可以选择通过 GoogleScripts 进行过滤!
任何建议,将不胜感激!
解决方案
如果一组唯一 ID 具有关联的“b”轮评论,则不应包含“a”轮评论。
如果我正确地遵循了您,您可以将其表示为not
具有相关子查询的条件,以确保,如果当前记录具有ReviewRound = 'a'
,则没有其他记录具有相同的id
和ReviewRound = 'b'
。
select t.*
from mytable t
where not (
t.ReviewRound = 'a'
and exists (
select 1
from mytable t1
and t1.id = t.id and t1.ReviewRound = 'b'
)
)
推荐阅读
- c# - 运行 URL 并获取新链接
- docker-compose - traefik docker-compose 容器交叉通信
- c# - 实体框架 - 似乎无法加载相关实体
- python - Python - 如何添加输入错误消息
- php - Wordpress 类型 htaccess 如果是 url 有条件使用此规则?
- c++ - 编译 h 文件并不总是显示错误
- angular - 角度测试:使用特定类型的参数测试方法
- android - 使用时库未添加其依赖项
- python-3.x - 创建 onefile 应用程序时如何修复 Pyinstaller Mac Os 错误
- c++ - 反转数字 (C++)