我试过这个查询:
SELECT X,Y,Z,COUNT(*)
FROM TABLE1
GROUP BY X,Y,Z
Run Code Online (Sandbox Code Playgroud)
我的结果是:

但我需要以下结果:

这应该可以解决问题:
SELECT X,Y,Z,ROW_NUMBER() OVER (PARTITION BY X,Y,Z ORDER BY X,Y,Z)
FROM TABLE1
Run Code Online (Sandbox Code Playgroud)
ROW_NUMBER() 将为组 X、Y、Z 中的每个值打勾,并在下一组重置。ORDER BY 子句用于定义它应该按什么顺序打勾,并且可以更改为您希望的任何方式。这是 Oracle 提供的分析功能之一,非常有用。