Sql 如何在我的查询中添加组内的行号

Sql 如何在我的查询中添加组内的行号,sql,oracle,Sql,Oracle,我尝试了以下查询: SELECT X,Y,Z,COUNT(*) FROM TABLE1 GROUP BY X,Y,Z 我的结果是: 但我需要以下结果: 这应该可以做到: SELECT X,Y,Z,ROW_NUMBER() OVER (PARTITION BY X,Y,Z ORDER BY X,Y,Z) FROM TABLE1 行号()将为组X、Y、Z中的每个值打勾,并在下一个组重置。ORDERBY子句用于定义它应该按什么顺序勾选,并且可以更改为您希望的任何顺序。这是Oracle提供的

我尝试了以下查询:

SELECT X,Y,Z,COUNT(*) 
FROM TABLE1 
GROUP BY X,Y,Z
我的结果是:

但我需要以下结果:


这应该可以做到:

SELECT X,Y,Z,ROW_NUMBER() OVER (PARTITION BY X,Y,Z ORDER BY X,Y,Z)
FROM TABLE1 

行号()将为组X、Y、Z中的每个值打勾,并在下一个组重置。ORDERBY子句用于定义它应该按什么顺序勾选,并且可以更改为您希望的任何顺序。这是Oracle提供的分析功能之一,非常有用

它不应该只被X,Y分割吗?太棒了。非常感谢兄弟。这对我帮助很大。再次感谢你们。