我试图在雅典娜中只输出在其中有特定值的用户,而不是所有的行
假设我有下面的table。我希望所有至少一行中的值为“100”但其他行中的值不同于100的用户。
user | value
A | 1
B | 2
A | 100
D | 3
A | 4
C | 3
C | 5
D | 100
所以在这个例子中,我只想得到用户a和d,因为只有他们有100个,没有100个。
我试着按用户分组,并为每个用户创建一个值数组,然后检查数组是否包含100个值,但我无法做到这一点。我还考虑过将行转换为列,然后检查其中一列是否等于100。
这些解决方案太复杂了?有人知道如何实现它们,或者有人有更好更简单的解决方案吗?
3条答案
按热度按时间j1dl9f461#
使用以下sql可以找到至少一个值为100的用户:
但我假设您在所有user和value的元组之后,其中user至少有一个值为100,这可以通过在稍微复杂的查询中使用上面的查询来实现:
htzpubme2#
您可以使用下面的子查询来实现所需的输出=
nqwrtyyt3#
如果你只需要用户,我会选择聚合:
如果
100
是最大可能值,可简化为: