ROW_NUMBER() OVER (PARTITION BY M ORDER BY N DESC 好用

做查询的时候,发现一个问题,连接之后,有一个表里面有重复的数据.导致另一个表的记录,跟着重复了几遍.用户曾经反馈,评论会多出来几条,

一直没找到原因.只到发现这个问题.才发现了原因.因为一直用sql server2000,所以就没有积极主动的学习.经过老大的提醒,才发现新的语法

ROW_NUMBER() OVER (PARTITION BY M  ORDER BY N DESC 能解决问题,记录备查

SELECT dbo.t_commentmaster.* t1.nickname AS openname,
t1.headimgurl AS openpic
FROM dbo.t_commentmaster LEFT OUTER JOIN
(SELECT t_wx_user.*, ROW_NUMBER() OVER (PARTITION BY openid
ORDER BY flowno DESC) RN
FROM t_wx_user) t1 ON t_commentmaster.openid = t1.openid AND t1.RN = 1

原文地址:https://www.cnblogs.com/forhell/p/6284962.html