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

浙公网安备 33010602011771号