【问题标题】:Sql Query + fetch first 2 records of every monthSql Query + 获取每个月的前 2 条记录
【发布时间】:2022-12-07 02:09:27
【问题描述】:

我有一大组以日期为主键的数据,大部分时间都会有记录。是否可以编写一个 SQL 查询来获取每个月前 2 天的记录?

例如,该表可能包含 1 月 1 日至 31 日的数据,但包含 2 月 3 日至 25 日的数据。在这种情况下,查询需要获取 1 月 1 日和 2 日以及 2 月 3 日和 4 日的记录。

我可以想到一个程序来做同样的事情。或者,可以获取记录并在服务器端 PHP 脚本中处理过滤。但我认为在 SQL 中做到这一点并不容易。

感谢您的帮助。谢谢。

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    根据您使用的“日期”,您可以执行以下操作:

    SELECT * FROM table
    WHERE DAY(date) IN (1, 2)
    

    这是我在不知道数据结构的情况下可以给出的最佳答案

    【讨论】:

    • 但在我的例子中,日期可能不是 1 或 2。例如,6 月的数据可能包含 10 日到 30 日的记录,因此查询必须获取 6 月 10 日和 11 日的记录
    猜你喜欢
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-19
    • 1970-01-01
    • 2021-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多