1

サービスの場所と呼ばれるテーブル (契約) に列があります。サービスの場所がテーブル内の他の行と一致するすべての行を表示する必要があります。

    Table Example

 A    B    C
 1    2    3
 3    2    1
 2    5    3

2 列目の比較に基づいて 1 行目と 2 行目が返されるクエリが必要です。BHAVING COUNT( ) > 1を使用する必要があると想定しています

私はこれを思いついた

SELECT  `contract_number` 
FROM  `contracts` 
WHERE  `import_id` =  'fe508764-54a9-41f7-b36e-50ebfd95971b'
GROUP BY  `service_location_id` 
HAVING COUNT(`service_location_id` ) >1  

しかし、それは私が正確に必要とするものを生成しません。

4

2 に答える 2

2

Havingそれを行いますが、このように使用する必要があります

SELECT  *
FROM    Contracts
        INNER JOIN
        (   SELECT  B
            FROM    Contracts
            GROUP BY B
            HAVING COUNT(*) > 1 -- MORE THAN ONE ROW WITH THE SAME VALUE
        ) dupe
            ON dupe.B = Contracts.B

ただし、インデックス作成によっては、自己結合のパフォーマンスが向上する場合があります。

SELECT  DISTINCT t1.*
FROM    contracts t1
        INNER JOIN contract` t2
            ON t1.B = t2.B
            AND t1.A <> t2.A
于 2012-09-18T15:37:40.203 に答える
1

SELECT * FROM sheet1 WHERE C IN (

COUNT( ) >1 で グループ から選択 ) C LIMIT 0 , 5000 で注文sheet1CCC

于 2013-05-31T08:29:07.263 に答える