【问题标题】:how to get recent 6 dates (Max dates) [closed]如何获取最近的 6 个日期(最大日期)[关闭]
【发布时间】:2019-12-27 09:56:58
【问题描述】:

我需要统计最近 6 个日期

我的代码是

select DUE_DATE, count(*)
from DATA
group by DUE_DATE
03/24/2018    10
03/17/2018    20
03/10/2018    15
03/03/2018    23
02/24/2018    42
02/17/2018    32
02/10/2018    15
02/03/2018    17
01/27/2018    23

【问题讨论】:

  • 您可以像这样更改您的查询:select top(6) DUE_DATE, count(*) from DATA group by DUE_DATE order by DUE_DATE desc

标签: sql oracle-apex oracle-apex-5 oracle-apex-5.1


【解决方案1】:
select DUE_DATE, count(*) from DATA group by DUE_DATE order by DUE_DATE desc limit 6

【讨论】:

    【解决方案2】:
    1. 最简单的情况是显示每个日期和/或您只对最近的 6 个日期感兴趣,无论它们是否显示在您的表格中:

      select DUE_DATE, count(*)
        from DATA
       where DUE_DATE >= trunc(sysdate) - 5
       group by DUE_DATE
       order by DUE_DATE desc
      

      (注意:表格中未显示的日期不会显示)。


    1. 另一方面,如果您需要表中日期子组中的 6 个最近日期,那么您首先需要一个子查询来获取这些日期,而不是仅对这些日期使用计数:

      select DUE_DATE, count(*)
        from DATA
       where DUE_DATE in (select distinct DUE_DATE
                            from DATA
                           order by DUE_DATE desc limit 6)
       group by DUE_DATE
      

    希望我能帮上忙!

    【讨论】:

      【解决方案3】:

      你在找fetch first吗?

      select DUE_DATE, count(*)
      from DATA
      group by DUE_DATE
      order by DUE_DATE desc
      fetch first 6 rows only;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-03-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多