0

次のフィールドを持つテーブルがあります。

 id | domainname | domain_certificate_no | keyvalue

select ステートメントの出力の例は次のようになります。

 id    |  domainname               |  domain_certificate_no      |  keyvalue
 ===============================================================================
'57092', '02a1fae.netsolstores.com', '02a1fae.netsolstores.com_1', '55525772666'
'57093', '02a1fae.netsolstores.com', '02a1fae.netsolstores.com_2', '22225554186'
'57094', '02a1fae.netsolstores.com', '02a1fae.netsolstores.com_3', '22444356259'
'97168', '02aa6aa.netsolstores.com', '02aa6aa.netsolstores.com_1', '55525772666'
'97169', '02aa6aa.netsolstores.com', '02aa6aa.netsolstores.com_2', '22225554186'
'97170', '02aa6aa.netsolstores.com', '02aa6aa.netsolstores.com_3', '22444356259’

フィールドdomain_certificate_noはユニークです。以前group byは繰り返しを見つけていましkeyvalueたが、実際に必要なのは、の出現回数だけでなくkeyvalue、この値が発生した各レコードの他のフィールドとともに、繰り返し値を 1 つずつリストする必要があります。で達成できなかったことgroup by。これどうやってするの。

4

3 に答える 3

1

テストされていませんが、これは頭のてっぺんからうまくいくと思います

SELECT * FROM table 
    WHERE keyvalue IN (
      SELECT keyvalue FROM table GROUP BY keyvalue HAVING COUNT(*) > 1
    )
于 2012-08-08T01:57:30.070 に答える