34,590
社区成员
发帖
与我相关
我的任务
分享
<table>
<tr><td>Id</td><td>Uid</td><td>Name</td></tr>
<tr><td>1</td><td>1</td><td>name1</td></tr>
<tr><td>2</td><td>1</td><td>name2</td></tr>
<tr><td>3</td><td>1</td><td>name1</td></tr>
<tr><td>2</td><td>1</td><td>name2</td></tr>
</table>
DECLARE @x XML
SET @x='<table> <tr><td>Id</td><td>Uid</td><td>Name</td></tr> <tr><td>1</td><td>1</td><td>name1</td></tr> <tr><td>2</td><td>1</td><td>name2</td></tr> <tr><td>3</td><td>1</td><td>name1</td></tr> <tr><td>2</td><td>1</td><td>name2</td></tr> </table> '
;WITH a
AS
(
SELECT C.v.value('.','nvarchar(100)') AS VALUE,row=ROW_NUMBER()OVER(ORDER BY (SELECT 1))
FROM @x.nodes('/table/tr/td')C(v)
)
SELECT VALUE AS 'UID'
FROM a AS b
WHERE exists(SELECT 1 FROM a WHERE b.row%3=row AND Value='UID' AND VALUE<>b.Value)
/*
1
1
1
1
*/
select * from [table] t where id=(select max(id) from [table] where uid=t.uid)