首页 > 解决方案 > 每月给出每个行号 - Oracle SQL

问题描述

我有一张这样的桌子:

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 来完成,但似乎无法正确处理。有小费吗?

标签: sqloracleoracle-sqldeveloper

解决方案


利用row_number()

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

推荐阅读