ユーザが獲得したユニークな賞品のレポートを取得しようとしています。すなわち、MySQLはGROUP BY column_aを使用してcolumn_bの重複も無視するクエリが必要です
+-----------+------------+
| prize_qty | player_qty |
+-----------+------------+
| 3 | 1 |
+-----------+------------+
| 2 | 1 |
+-----------+------------+
次のコードは近い:
どのように選手のすべての3つの賞を獲得している、どのように多くは2つの賞、など。+--------+--------+
| player | prize |
+--------+--------+
| 1 | 1 |
+--------+--------+
| 1 | 1 |
+--------+--------+
| 1 | 2 |
+--------+--------+
| 1 | 3 |
+--------+--------+
| 2 | 1 |
+--------+--------+
| 2 | 2 |
+--------+--------+
私は次のようになります。必要なレポートを獲得しています
SELECT DISTINCT COUNT(*) as player_qty, prize_qty FROM
(SELECT count(*) AS prize_qty FROM `prizes` GROUP BY player)
as t1 GROUP BY player_qty
が、それはこの返します
+-----------+------------+
| prize_qty | player_qty |
+-----------+------------+
| 4 | 1 |
+-----------+------------+
| 2 | 1 |
+-----------+------------+
賞金1を2回もらったことを無視する必要がありますが、重複をどれほど嫌うかはわかりません。
あなたはちょうど約ありました。最終的な結果はplayer_qty、prize_qty FROM(SELECT count(*)AS prize_qty FRY(SELECT DISTINCT prize、player FROM 'prizes')をt2 GROUP BYプレイヤー)としてSELECT DISTINCT COUNT(*)をGROUP BY prize_qty –