日期:2014-05-17 浏览次数:20838 次
SELECT A FROM S t1 WHERE B = (SELECT COUNT(1) AS "B相同的数量" FROM S where B=t1.B)
------解决方案--------------------
列举 表结构和数据以及想要的结果 不然谁知道LZ说的什么意思啊
------解决方案--------------------
这个意思?
create table t1 (t_id number(10),a varchar2(10),b varchar2(10),c varchar2(10)); insert into t1 values (1,'1','2','3'); insert into t1 values (2,'4','5','6'); insert into t1 values (3,'1','2','3'); insert into t1 values (4,'1','3','3'); insert into t1 values (5,'2','2','3'); insert into t1 values (6,'1','2','3'); insert into t1 values (7,'1','3','3'); select a,b,c,max(d) 重复数量 from (select a,b,c,rank() over(partition by a,b,c order by t_id) d from t1) group by a,b,c a b c 重复数量 --------------------------------------- 1 2 3 3 1 3 3 2 2 2 3 1 4 5 6 1
------解决方案--------------------
只是要一个总计的话,不用这么麻烦。
select count(*) from table where rowid not in ( select max(rowid) from table group by a,b,c)