SQL SERVER 查找某字段下相同值的记录

今天在公司想从数据库(SQL SERVER 2008)里查找某字段下相同值的记录,想了半天也没有想出好的方法,
于是Google了一下,发现网上大体上有如下两种方法:

表 Doc_Form  编号:Code   名称:Name
方法一: 通过Name 和Code来查询
      

SELECT Name, Code
FROM DOC_Form AS A
WHERE (Name IN
(
SELECT Name
FROM DOC_Form
WHERE (A.Code <> Code)))

方法二:只通过Name来查询
 

SELECT Name, Code
FROM DOC_Form AS A
WHERE ((SELECT COUNT(0) AS Expr1
FROM DOC_Form
WHERE (A.Name = Name)) > 1)


以上两种方法便是网上的主流方法,根据传说,方法一的效率比较高,
但我觉得方法一的效率还有很大的提升空间,请各位叫兽砖家们给点意见,
让效率飞一会 !

谢谢 !

 

今天(2011-04-28)向经理请教了一下,结果经理就说了两个字 :分组

SELECT Name FROM DOC_Form
GROUP BY Name
HAVING Count(*)>1
posted @ 2011-01-20 22:38  schen  阅读(1861)  评论(0)    收藏  举报