我尝试过这个问题:
SELECT X,Y,Z,COUNT(*)
FROM TABLE1
GROUP BY X,Y,Z
我的结果是:
但我需要以下结果:
答案 0 :(得分:2)
这应该可以解决问题:
SELECT X,Y,Z,ROW_NUMBER() OVER (PARTITION BY X,Y,Z ORDER BY X,Y,Z)
FROM TABLE1
ROW_NUMBER()将为X,Y,Z组中的每个值勾选,并在下一组中重置。 ORDER BY子句用于定义它应该以什么顺序打勾,并且可以根据需要更改为。这是Oracle提供的分析功能之一,非常有用。
答案 1 :(得分:0)
我想你也希望按ORDER_NO
SELECT X,Y,Z,COUNT(*)
FROM TABLE1
GROUP BY X,Y,Z,ORDER_NO