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

col3 に count > 1 の値があるため、結果は行 1、2、4、5 になります。

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 に答える