Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MYSQL select where count > 1

Tags:

mysql

count

Need to execute query to find rowns with 3rd column value count > 1. Example:

Table:

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

Result will be rows 1,2,4,5 because we have values in col3 with count > 1

like image 809
Vadim Galanov Avatar asked Oct 21 '25 04:10

Vadim Galanov


2 Answers

Your question is very unclear, this is probably what you're asking:

SELECT COUNT(col3) as countCol3
FROM table
GROUP BY col3
HAVING countCol3 > 1
like image 110
Tchoupi Avatar answered Oct 23 '25 19:10

Tchoupi


Here is an answer that could help you. I have included some sample data to help others who would find some example data helpful:

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 );
like image 35
Tom Mac Avatar answered Oct 23 '25 18:10

Tom Mac