Mysql
選擇在表中多次出現(計數)的唯一值對
如何檢索具有不止一次出現的唯一值對的行…這是我正在嘗試的範例。
SELECT column_fk_id1, column_fk_id2, COUNT(distinct column_fk_id1, column_fk_id2) AS unique_pair_repeats FROM table WHERE column_fk_id1 IS NOT NULL GROUP BY column_fk_id1, column_fk_id2 HAVING unique_pair_repeats > 2
您幾乎可以使用,只需刪除 distinct 並將 > 2 更改為 > 1。 distinct 不是必需的,因為分組處理它並且 > 2 正在尋找具有至少三個條目而不是兩個條目的東西。
drop table tab1; create table tab1 as (select 1 column_fk_id1,2 column_fk_id2 from dual); insert into tab1 values (1,2); insert into tab1 values (2,1); insert into tab1 values (3,4); insert into tab1 values (4,3); insert into tab1 values (5,5); insert into tab1 values (6,7); insert into tab1 values (6,7); insert into tab1 values (6,8); commit; SELECT column_fk_id1, column_fk_id2, COUNT(*) AS unique_pair_repeats FROM tab1 WHERE column_fk_id1 IS NOT NULL GROUP BY column_fk_id1, column_fk_id2 HAVING count(*) > 1; COLUMN_FK_ID1 COLUMN_FK_ID2 UNIQUE_PAIR_REPEATS ------------- ------------- ------------------- 1 2 2 6 7 2 2 rows selected.