基于属性出现的 SQL 过滤器组

标签 sql filtering

在 (T-)SQL 中是否可以通过特定值的出现来过滤记录组,例如 this question about a Python dataframe

例如,在下表中,我希望将包含 16 作为 Value 的完整组作为输出。

ID Group Value
1    1   10
2    1   12
3    1   16
4    2   10
5    2   14
6    2   18
7    3   12
8    3   16
9    3   18

我想要的结果输出是

ID Group Value
1    1   10
2    1   12
3    1   16
7    3   12
8    3   16
9    3   18

根据文档和我得到的错误,GROUP BYPARTITION BYHAVING 仅在对总值求和时起作用。

最佳答案

你可以使用EXISTS:

SELECT *
FROM tab t1
WHERE EXISTS (SELECT 1
              FROM tab t2
              WHERE t1.[group] = t2.[group]
                AND t2.[Value] = 16)

关于基于属性出现的 SQL 过滤器组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50113233/

相关文章:

SQLite3 终端输出格式 .width

mysql - 将两个相似的行合并为一个新列

java - 想要使用 Maven 资源插件从 pom 构建的属性文件中设置值

使用 fft 的 Matlab 低通滤波器

PHP:以智能编码方式进行排序?

sql - 自动增量/身份可以检测值本身吗?

mysql - MySQL/PHP从表时间戳中找出访问者的频率

mysql - 未在表中创建外键

powershell - 在Where语句中使用变量

javascript - 对象数组的过滤函数