sql - 仅查询符合条件的元素
问题描述
假设我有下表:
id | packageName | app | timestamp
------------------------------------
1 | io.kodular... | A | 111
2 | io.kodular... | B | 222
3 | io.kodular... | A | 444
4 | io.kodular... | C | 555
如何选择按时间戳分组的app
元素高于333
,但它们没有任何记录低于该数字?
我只需要获取app C
,因为app A
时间戳记录低于 333。我尝试了以下查询,但它同时返回app A
和app C
:
SELECT app FROM table WHERE timestamp>=333 AND NOT timestamp<333 GROUP BY app;
知道如何执行该查询吗?
解决方案
使用条件聚合:
SELECT app
FROM table t
GROUP BY app
HAVING MIN(timestamp) >= 333 ;
推荐阅读
- keylogger - 我可以在电脑锁定时被键盘记录吗?
- python - IndentationError : 在 If..elif 语句中执行公式时
- reactjs - React useEffect 出现错误 - 缺少依赖项
- flutter - 颤振中甜甜圈图表中的最高值弧
- reactjs - 为 React 项目提供资产的更好方法?
- go - 节目与频道挂起
- linux - 我们可以使用 fgets()、fputs()、feof() 等函数来执行操作吗?像我们用于普通文件一样的fifo文件?
- python - 在项目与条件匹配的点处将列表拆分为嵌套列表
- javascript - How can I filter an array by multiple conditions but keeping its current state?
- amazon-web-services - stepfunction 的 AWS 服务主体值是多少?