私はこのクエリを持っている:DISTINCTの結果をグループ化し、COUNT行を正しくグループ化する方法はありますか?
SELECT DISTINCT w.buyer_id, u.username, a.cb_id
FROM winners AS w
INNER JOIN auctions AS a ON w.auction_id=a.auction_id AND a.cb_id > 0 AND a.category_id=1922
INNER JOIN users AS u ON w.buyer_id=u.user_id
だから基本的に私は、各w.buyer_id
がa.cb_id
に関してに携わってきましたどのように多くのユニークエントリを見つけるためにしようとしています。
これを行うには、上記のクエリを実行し、すべての一意の値を表示するので、良い行結果を取得します。そのユーザーには14行(14個の固有のCB IDが含まれています)があり、ユーザーBには5行が含まれていることがわかります。私は以下試した
w.buyer_id,u.username,count
:
だから私はそれは私がの出力を持つレコードセットを取得することができますようにしたい
SELECT DISTINCT w.buyer_id, u.username, a.cb_id, COUNT(*) AS unique_spots
FROM winners AS w
INNER JOIN auctions AS a ON w.auction_id=a.auction_id AND a.cb_id > 0 AND a.category_id=1922
INNER JOIN users AS u ON w.buyer_id=u.user_id
GROUP BY w.buyer_id
LIMIT 5000;
を...しかし、それはCOUNT
としてを返します。私がレコードセットにDISTINCT
を適用していない場合でも。
私はここで間違っていますか?
あなたが "間違った" 結果がシンプルになってしまう理由: 'DISTINCT'が処理されます** ** GROUP BYの後** – dnoeth
@dnoethああ、意味がある。ありがとう! – Brett