试一试: Select t1.name, t1.age From tablename t1 Inner Join tablename t2 On t1.age = t2.age And t1.name <> t2.name
select * from where age in (Select age From tablename Group by age Having Count(age) > 1 )
select * from tableName where age in (Select age From tablename Group by age Having Count(age) > 1 )
on oracle8i: LaoZheng()的sql把所有一样的纪录都列出来 而下面这条是把该删的都列出来 select * from tab1 t1 where rowid!=(select max(rowid) from tab1 t2 where t1.age=t2.age) order by t1.name;
befresh说的没错, 可是这是谁问的问题呀, 自己都不关心
laozheng()的sql有一个问题,就是如果age字段如果允许null值,那么就会出现问题
to Befresh() 您的语句是什么意思呢,能讲解一下么:)
select name,count(age) from tablename group by name having count(age)>1 请试试吧,肯定行
同意顶楼的和楼上的,关鍵是HAVING!
create view test1 as select age from test group by age having count(age)>1 goselect * from test INNER JOIN test1 ON test.age=test1.age drop view test1
SELECT name,age,COUNT(age) AS C FORM a GROUP BY age,name HAVING C>=2 INTO #c1 SELECT name,age FORM C1 GO or CREATE VIEW a_view AS SELECT name,age FROM a SELECT age ,COUNT(age) AS C FROM a GROUP BY age HAVING C>=2 SELECT * FROM a_view GO
select name , age from a where age in (select age from a group by age having count(age)>1)
to hughie(雨神): 你的SQL 語句太棒了,有机會我向你請教。我的E-mail是[email protected] 我的Yahoo ID是Nipsanchow
select * from a where age=8 group by age having count(age)>1Good luck!!!!
select * from a where age=8 group by age
很簡單!select * from employee a where ( select count(*) from employee b where b.age=a.age ) > 1未經証實﹐不過我想肯定是這樣﹐因為我以前是想得到前几記錄﹐如得到最近的十次交貨時間。
select * from tablename a where (select count(*) from tablename b where a.name=b.name )>1 and (select count(*) from tablename b where a.age=b.age )>1 )试试看——
我是说,我对表中的记录一无所知,在这种情况下,怎么把某字段重复的记录一起列出来:)
Select t1.name, t1.age From tablename t1 Inner Join tablename t2 On t1.age = t2.age And t1.name <> t2.name
LaoZheng()的sql把所有一样的纪录都列出来
而下面这条是把该删的都列出来
select * from tab1 t1 where rowid!=(select max(rowid) from tab1 t2 where t1.age=t2.age) order by t1.name;
可是这是谁问的问题呀,
自己都不关心
您的语句是什么意思呢,能讲解一下么:)
请试试吧,肯定行
select age from test group by age having count(age)>1
goselect * from test INNER JOIN test1 ON test.age=test1.age
drop view test1
GROUP BY age,name HAVING C>=2 INTO #c1
SELECT name,age FORM C1
GO
or
CREATE VIEW a_view AS SELECT name,age FROM a
SELECT age ,COUNT(age) AS C FROM a
GROUP BY age HAVING C>=2
SELECT * FROM a_view
GO
from a
where age in (select age from a group by age having count(age)>1)
你的SQL 語句太棒了,有机會我向你請教。我的E-mail是[email protected] 我的Yahoo ID是Nipsanchow
where age=8
group by age
having count(age)>1Good luck!!!!
where age=8
group by age
很簡單!select * from employee a
where ( select count(*) from employee b where b.age=a.age ) > 1未經証實﹐不過我想肯定是這樣﹐因為我以前是想得到前几記錄﹐如得到最近的十次交貨時間。
where a.name=b.name )>1 and (select count(*) from tablename b
where a.age=b.age )>1 )试试看——