【问题标题】:Give out each row number per month - Oracle SQL每月给出每个行号 - Oracle SQL
【发布时间】:2019-03-25 11:23:45
【问题描述】:

我有一张这样的桌子:

Month     | Date   
----------------------
May 2019  | 03.05.19
May 2019  | 04.05.19 
May 2019  | 07.05.19   
July 2019 | 03.07.19
July 2019 | 05.07.19 
July 2019 | 06.07.19  
July 2019 | 08.07.19 

我想要一个查询,给出以下内容。

Month     | Date    | Row Count per Month
----------------------
May 2019  | 03.05.19 | 1
May 2019  | 04.05.19 | 2
May 2019  | 07.05.19 | 3
July 2019 | 03.07.19 | 1
July 2019 | 05.07.19 | 2
July 2019 | 06.07.19 | 3
July 2019 | 08.07.19 | 4

所以它给出了每月每行的数量,但我不知道该怎么做(我有比这些更多的月份和日期)。我正在尝试使用 row_number 来做,但似乎无法做到这一点。有什么建议吗?

【问题讨论】:

    标签: sql oracle oracle-sqldeveloper


    【解决方案1】:

    使用row_number()

    select *,row_number() over(partition by month order by date) as Row_Count
    from tablename
    

    【讨论】:

    • 这对我不起作用。它说“缺少右括号”,即使我已经检查了所有括号(如果有的话)。
    【解决方案2】:

    使用row_number()

       select t.*, row_number() over( partition by month order by date) rn from table t
    

    【讨论】:

      猜你喜欢
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-21
      相关资源
      最近更新 更多