私はテーブルを持っています:
ID CLUSTERID
1 56
1 24
1 24
1 35
2 13
2 24
今、私は次のことを取得したいと考えています: ID ごとにカウントしたいのですが、どのクラスター ID がほとんどの場合繰り返されます。たとえば、ID=1 では、CLUSTERID=24 がほとんどの場合繰り返されます。ID=2 では、同じことを繰り返す 2 つの CLUSTER ID があります。したがって、出力には次のようになります。
ID CLUSTERID
1 24
2 13
2 24
私が書いた(そして機能する)答え
TT は、ID と CLUSTER ID の 2 つの列を持つ元のテーブルです。
SELECT t3.ID,t3.ClusterID,t3.ListingAmount
FROM
(SELECT ID, ClusterID, COUNT( ) AS ListingAmount
FROM tt
GROUP BY ID, ClusterID) AS t3 LEFT JOIN
(SELECT ID, MAX(ListingAmount) AS amount
FROM
(SELECT ID , ClusterID, COUNT( ) AS ListingAmount
FROM tt
GROUP BY ID, ClusterID) AS t2
GROUP BY ID) AS BB ON BB.id=t3.id
WHERE BB.amount=t3.ListingAmount