首页 > 解决方案 > 仅查询符合条件的元素

问题描述

假设我有下表:

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 Aapp C

SELECT app FROM table WHERE timestamp>=333 AND NOT timestamp<333 GROUP BY app;

知道如何执行该查询吗?

标签: sql

解决方案


使用条件聚合:

SELECT app
FROM table t
GROUP BY app
HAVING MIN(timestamp) >= 333 ;

推荐阅读