关于SQL SERVER 的查询
我的问题是这样的:
有一个表(TEST),有一个ID和NAME 字段
我想查询NAME字段有内容重复的记录。
问题点数:45、回复次数:24Top
1 楼jiffy(小李飞刀)回复于 2000-10-25 11:25:00 得分 0
檢查select Sum(name) from test
與 select sum(DISTINCT name) from test
的返回值是否相等。Top
2 楼grievefish()回复于 2000-10-25 11:59:00 得分 0
首先感谢您的回答!
但是您的回答并不是我想的!
我的意思是:我想把NAME有重复值的记录查出来,而没有重复的不显示,Top
3 楼tanghuan()回复于 2000-10-25 12:09:00 得分 10
select *
from test
where name in (
select name
from test
group by name
having count(*)>1
)Top
4 楼jiffy(小李飞刀)回复于 2000-10-25 12:52:00 得分 0
select distinct * from test a
where (select count(*) from test b where a.name=b.name ) >1Top
5 楼lyxinfo(雒)回复于 2000-10-25 13:50:00 得分 0
select name
from tableneme
where name is not null
group by name
having count(*) > 1
如果想显示所有字段,就用上段sql在作为自查询结果就行了。Top
6 楼pjy(古虫)回复于 2000-10-25 14:11:00 得分 0
select distinct A.name from test A,test B where (A.name = B.name and A.ID <> B.id) Top
7 楼masterkey()回复于 2000-10-25 14:34:00 得分 0
这个嘛,一定要用到Having子句,下面这句包你满意!
select Name from test
group by Name
having count(*)>1
或:
select * from test
where Name in (select Name from test group by Name having count(*)>1)Top
8 楼masterkey()回复于 2000-10-25 14:41:00 得分 0
这个嘛,一定要用到having子句,下面这两个包您满意:
select name from test group by name having count(*)>1
select * from test
where name in (select name from test group by name having count(*)>1)Top
9 楼w102272(Wonder)回复于 2000-10-25 15:07:00 得分 0
这个SQL 找出所有重复的NAME:
SELECT name FROM test GROUP BY name HAVING (COUNT(name) > 1)
如果要找出所有重复的记录,需要用子查询:
SELECT * FROM test
WHERE (name IN
(SELECT name FROM tab_test GROUP BY name HAVING (COUNT(name) > 1))
)
Top
10 楼w102272(Wonder)回复于 2000-10-25 15:15:00 得分 0
这个SQL 找出所有重复的NAME:
SELECT name FROM test GROUP BY name HAVING (COUNT(name) > 1)
如果要找出所有重复的记录,需要用子查询:
SELECT * FROM test
WHERE (name IN
(SELECT name FROM test GROUP BY name HAVING (COUNT(name) > 1))
)
Top
11 楼grievefish()回复于 2000-10-25 15:40:00 得分 0
忠心感谢大家!
热泪盈眶!
大家的回答我都实验过,全都好使;
除了"lyxinfo"略有小疑,
再次感谢!
Top
12 楼dqj()回复于 2000-10-25 23:03:00 得分 0
:Top




