如题
表S 要统计的字段为A
两个限制条件的字段为B和C
B的限制的内容是在表中统计B有相同值的数量
再从这个数量里统计出C相同的数量。
SELECT A FROM S WHERE
B = (SELECT B ,COUNT(1)AS "B相同的数量" FROM S GROUP BY B)
AND
C = (SELECT C ,COUNT(1)AS "C相同的数量" FROM S GROUP BY C)得出的结果是值过多。这怎么解决啊
表S 要统计的字段为A
两个限制条件的字段为B和C
B的限制的内容是在表中统计B有相同值的数量
再从这个数量里统计出C相同的数量。
SELECT A FROM S WHERE
B = (SELECT B ,COUNT(1)AS "B相同的数量" FROM S GROUP BY B)
AND
C = (SELECT C ,COUNT(1)AS "C相同的数量" FROM S GROUP BY C)得出的结果是值过多。这怎么解决啊
=右边有2个值。
C = (SELECT C ,COUNT(1)AS "C相同的数量" FROM S GROUP BY C)也一样的错误。
FROM S t1 WHERE
B = (SELECT COUNT(1) AS "B相同的数量" FROM S where B=t1.B)
FROM S t1 WHERE
B = (SELECT COUNT(1) AS "B相同的数量" FROM S where B=t1.B)好像在一直循环啊
A VARCHER(2)
B VARCHER(2)
C NUNBER(20,30)
表中的数据有很多值是重复的,其中就会有A相同andB相同andC相同的记录
我想要的就是统计出这三个都相同的有多少条记录
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
where rowid not in (
select max(rowid) from table
group by a,b,c)