如何按日期过滤记录金额?

时间:2017-11-10 00:00:55

标签: sql database postgresql

我有一个平板电脑'A',它有一列日期。并且相同的日期可以在几个记录中。我正在尝试过滤日记录数量少于5的记录。并且仍保留平板电脑的所有字段。

我的意思是,如果我在2017年10月11日只有4条记录,我需要过滤所有这4条记录。

2 个答案:

答案 0 :(得分:1)

所以你可以根据子查询选择它们。在SUB-Query中按这个日期列对它们进行分组,然后使用具有聚合计数的HAVING来知道我们拥有的每个日期组中有多少,然后选择所有具有小于5的日期组的数据;

SELECT * 
FROM A
WHERE A.date in (SELECT subA.date 
                   FROM A 
                   GROUP BY A.date 
                   HAVING COUNT(*) < 5 );

答案 1 :(得分:1)

保重的答案很好。或者,您可以使用分析/窗口功能。我会对两者进行基准测试,看看哪一个效果更好。

{{1}}