3

需要执行查询以查找第 3 列值计数 > 1 的行。示例:

桌子:

     col1   col2    col3  
------------------------  
1.   val1   val2    val3
2.  val11  val21    val3
3.  val12  val22   val31
4.  val13  val23   val32
5.  val14  val24   val32

结果将是第 1,2,4,5 行,因为我们在 col3 中有 count > 1 的值

4

2 回答 2

10

您的问题非常不清楚,这可能是您要问的:

SELECT COUNT(col3) as countCol3
FROM table
GROUP BY col3
HAVING countCol3 > 1
于 2012-07-30T13:11:28.287 回答
0

这是一个可以帮助您的答案。我已经包含了一些示例数据,以帮助其他会发现一些示例数据有用的人:

drop table if exists valTable;

create table valTable
(
id int unsigned primary key auto_increment not null,
col1 varchar(50),
col2 varchar(50),
col3 varchar(50)
);

insert into valTable (col1,col2,col3) values ('val1','val2','val3');
insert into valTable (col1,col2,col3) values ('val11','val21','val3');
insert into valTable (col1,col2,col3) values ('val12','val22','val31');
insert into valTable (col1,col2,col3) values ('val13','val23','val32');
insert into valTable (col1,col2,col3) values ('val14','val24','val32');

select vt.*
from valTable vt
where vt.col3 in
(select col3Multi from (
select col3 col3Multi,count(*) as c
from valTable
group by col3
having c > 1) t );
于 2012-07-30T15:20:17.763 回答