sql - 当列中并非所有值都相等时返回数据
问题描述
我有一个简单的表格,如下所示:
| 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
s ?因此,使用上述数据,将返回 2,因为并非所有计数都相等。name
id
name
如果可以不单独对每个名称进行硬编码,那就太好了,因为真实数据集中有很多。
解决方案
一个简单的方法是聚合:
select name
from t
group by name
having min(count) <> max(count);
如果您想确保有三行,请添加and count(*) = 3
.
推荐阅读
- azure-cosmosdb-sqlapi - Sql string for this result?
- c - 使用位运算符返回 C 中最负的二进制补数
- telerik - RadTelerik Datepicker showing above the control
- java - Scroll bars / scrollpane disappearing upon image upload and zoom in JavaFX
- java - Find if a node exists in XStream api
- c - stand alone explanation of sigsetjmp
- python - Python Dynamic Inheritance and Attributes
- chromium - 是否可以使用 Puppeteer 加载 chrome://gpu?
- php - 了解 $_SERVER[REQUEST_URI]
- php - 使用 preg_replace 替换第一个匹配项