+ -
当前位置:首页 → 问答吧 → ROW_NUMBER() 造成的诡异事件。。

ROW_NUMBER() 造成的诡异事件。。

时间:2011-10-28

来源:互联网

SELECT tmp.*,ROW_NUMBER() OVER (ORDER BY c_t_id desc ) AS c_rownum 
 FROM ( SELECT b.c_t_id FROM BBB b 
  INNER JOIN AAA a ON a.c_id = b.c_b_id

 WHERE b.c_t_id = '1'

) tmp

这样一个语句会造成,有重复行。。 只有排序列与 WHERE 列 一样。。就会造成有重复数据。。
去掉排序或去掉inner 表或去掉 WHERE 条件都会回复正常
求大神解释..

作者: ko300   发布时间: 2011-10-28

SELECT b.c_t_id,ROW_NUMBER() OVER (ORDER BY c_t_id desc ) AS c_rownum  
 FROM BBB b  
 INNER JOIN AAA a ON a.c_id = b.c_b_id
 WHERE b.c_t_id = '1'


已简化成这样。。还是一样问题

作者: ko300   发布时间: 2011-10-28

c_t_id 与 b.c_t_id 不是同一个表中的

作者: m540920181   发布时间: 2011-10-28