我有一个简单的表格,如下所示:
| yyyy_mm_dd | id | name | count |
|------------|----|----------|-------|
| 2020-10-31 | 1 | price | 90 |
| 2020-10-31 | 1 | restrict | 90 |
| 2020-10-31 | 1 | checkin | 90 |
| 2020-10-31 | 2 | price | 322 |
| 2020-10-31 | 2 | restrict | 322 |
| 2020-10-31 | 2 | checkin | 311 |
...
如何构造一个查询来返回每个名称
不具有相同计数的id
?因此,使用上述数据,将返回 id
2,因为并非所有 name
计数都相等。
如果不需要单独对每个名称进行硬编码,那就太好了,因为真实数据集中有很多名称。
最佳答案
一个简单的方法是聚合:
select name
from t
group by name
having min(count) <> max(count);
如果您想确保有三行,请添加和 count(*) = 3
。
关于sql - 当列中的所有值并非都相等时返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65204672/