sql - 如何按每个日期的金额过滤记录?

标签 sql database postgresql

我有一个带有日期列的平板电脑“A”。同一日期可以在几条记录中。我正在尝试过滤按天记录数量小于 5 的记录。并且仍然保留平板电脑的所有字段。

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

最佳答案

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

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

关于sql - 如何按每个日期的金额过滤记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47213672/

相关文章:

java - MS使用java Access 数据库

mysql - 非常大的表中的 MyISAM 与 InnoDB

android - 如何删除 ListView 和数据库中的项目 - Android Studio

postgresql - 在 WHERE 子句中使用的所有列上创建索引是一种好习惯吗

mysql - 插入 1 个已知值和 2 个选择

SQL 对分区计数然后按月分组

node.js - Sequelize-CLI、Postgres、Heroku 生产 TypeError [ERR_INVALID_ARG_TYPE] : The "url" argument must be of type string. 接收类型未定义

javascript - 如何使用sequelize 与postgres 进行日期比较

c# - 如何将空值从 TextBox 插入到整数字段

Moodle 上类(class)注册的 SQL 查询