MAX
を使用してみてください GROUP BY
を使用 。
SELECT u.userName, MAX(c.carPrice)
FROM users u
LEFT JOIN cars c ON u.id = c.belongsToUser
WHERE u.id = 4;
GROUP BY u.userName;
GROUP BY
に関する詳細情報
group by句は、group by列の一意の組み合わせに基づいて、選択したレコードをグループに分割するために使用されます。これにより、レコードの各グループに順番に適用される集計関数(MAX、MIN、SUM、AVGなど)を使用できるようになります。データベースは、グループ化ごとに1つの結果レコードを返します。
たとえば、次のようなテーブルに、時間と場所の温度を表す一連のレコードがある場合:
Location Time Temperature
-------- ---- -----------
London 12:00 10.0
Bristol 12:00 12.0
Glasgow 12:00 5.0
London 13:00 14.0
Bristol 13:00 13.0
Glasgow 13:00 7.0
...
次に、場所ごとに最高気温を見つけたい場合は、気温レコードをグループに分割する必要があります。特定のグループの各レコードは同じ場所にあります。次に、各グループの最高温度を見つけます。これを行うためのクエリは次のようになります:
SELECT Location, MAX(Temperature)
FROM Temperatures
GROUP BY Location;