sql server 有一个字段有重复,另一个字段没有重复,我只想按有重复的取第一条?????
比如说,我有两个字段parentid(有重复的),memo(没有重复的)我想取出来根据parentid不要重复。我这张表里有200w数据,刚才用游标,太慢了!在线等。。。...
比如说,我有两个字段parentid(有重复的),memo(没有重复的)
我想取出来根据parentid不要重复。
我这张表里有200w数据,刚才用游标,太慢了!
在线等。。。谢谢 展开
我想取出来根据parentid不要重复。
我这张表里有200w数据,刚才用游标,太慢了!
在线等。。。谢谢 展开
4个回答
展开全部
有好多方法,比如说用 DISTINCT :
SELECT DISTINCT(PartentID), Memo
FROM TableName
就是一种比较有效的方法,还有其他的方法,SQLSERVER2005下
WITH Temp AS
(SELECT ROW_NUMBER() OVER(PARTITION BY PartentID ORDER BY @@ROWCOUNT) AS ID, PartentID, Memo
FROM TableName)
SELECT * FROM Temp WHERE ID = 1 也是一种很好的方法,不过我刚才测试,好像效率稍微不如 DISTINCT,
还有其他的方法,比如你自己讲的用游标或者WHILE循环逐行扫描,不过这样子效率就很低了!
SELECT DISTINCT(PartentID), Memo
FROM TableName
就是一种比较有效的方法,还有其他的方法,SQLSERVER2005下
WITH Temp AS
(SELECT ROW_NUMBER() OVER(PARTITION BY PartentID ORDER BY @@ROWCOUNT) AS ID, PartentID, Memo
FROM TableName)
SELECT * FROM Temp WHERE ID = 1 也是一种很好的方法,不过我刚才测试,好像效率稍微不如 DISTINCT,
还有其他的方法,比如你自己讲的用游标或者WHILE循环逐行扫描,不过这样子效率就很低了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from table where meno in (select max(meno) from table group by parentid)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
“我只想按有重复的取第一条”,这是什么意思?楼主的问题一直没搞太明白,虽然连续问了五六个问题,但都是完全复制的,都一样看不明白。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询