2016-09-20 80 views
-2

例如,如果我有一个通过柜台完成的事务数据库表。我想搜索是否有任何时间被定义为非常繁忙(在10分钟内处理超过10笔交易)。我将如何去查询它?我可以根据时间范围进行汇总,并计算这些范围内的交易ID数量吗?在postgresql中,你如何找到基于时间范围的聚合数据库

+1

显示一些示例数据和您期望的结果?请阅读[** How-to-Ask **](http://stackoverflow.com/help/how-to-ask) \t \t这里是[** START **](http ://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/),了解如何提高您的问题质量并获得更好的答案。 –

回答

0

如何:

SELECT time, 
FROM (
    SELECT count(*) AS c, min(time) AS time 
    FROM transactions 
    GROUP BY floor(extract(epoch from time)/600); 
) 
WHERE c > 10; 

这会发现所有十个分钟为间隔针对该区间内发生十余交易。它假设该表名为transactions,并且它有一个名为time的列,其中存储了时间戳。