2013-10-19 110 views
0

我现在用的是ROW_NUMBER功能这样列(PARTITION BY .... ORDER BY ...)

SELECT ROW_NUMBER() OVER (PARTITION BY TABLE1.COL1, TABLE2.COL1 ORDER BY TABLE1.COL4) as ROWNUM 
FROM TABLE1 
JOIN TABLE2 
ON ...... 

,我运行此查询与返回数据只有一排,但ROWNUM是不是1,和我期望的那样,有时是4,有时5

这是错误的使用的列从多发表在PARTITION BY... ORDER BY..

在此先感谢您的帮助

回答

1

partition by将重新启动的行数在Table1.col1和Table2.col1每一个变化

好像你期待这将通过下面的变化来实现结果:

SELECT ROW_NUMBER() OVER (ORDER BY TABLE1.COL4) as ROWNUM 
FROM TABLE1 
JOIN TABLE2 
ON ......