0

この質問の下部にあるコマンドから生成された、問題のテーブルを次に示します。

+--------------+-----------------+
| usr_postcode | pdp_point_total |
+--------------+-----------------+
| MS2 8LA      |             160 |
| MS2 8LA      |             140 |
| MS2 8LA      |             110 |
| MS2 8LA      |             100 |
| MS2 8LA      |              90 |
| MS2 8LA      |              80 |
| MS2 8LA      |              50 |
| MS2 8LA      |              30 |
| WN4 9NV      |              25 |
| MS2 8LA      |              20 |
| SL6 1SR      |              10 |
| SL1 4DX      |              10 |
+--------------+-----------------+

1 列目の値ごとに 2 列目の最大値を見つけたいので、出力は次のようになります。

-------------
MS2 8LA | 160
WN4 9NV | 25
SL6 1SR | 10
SL1 4DX | 10
-------------

2つの列は異なるテーブルからのものであるため、現時点ではこれが私のコマンドです:

SELECT DISTINCT users.usr_postcode, point_date_pairs.pdp_point_total FROM users
INNER JOIN point_date_pairs ON users.usr_id_pk = point_date_pairs.usr_id_fk
ORDER BY point_date_pairs.pdp_point_total DESC;
4

1 に答える 1

1

GROUP BY が役立つはずです。

SELECT users.usr_postcode, MAX(point_date_pairs.pdp_point_total)
FROM users
INNER JOIN point_date_pairs ON users.usr_id_pk = point_date_pairs.usr_id_fk
GROUP BY users.usr_postcode ASC
于 2013-02-13T19:21:18.963 に答える