サブクエリを使用すると、最高のid
を取得できます 名前ごとに、それに基づいて残りの行を選択します。
SELECT * FROM table
WHERE id IN (
SELECT MAX(id) FROM table GROUP BY name
)
必要に応じて、MIN(id)
を使用してください 最後のレコードではなく、各名前の最初のレコードを取得します。
INNER JOIN
を使用して実行することもできます サブクエリに対して。この目的のために、パフォーマンスは同様である必要があり、場合によっては2つに参加する必要があります。 サブクエリの列。
SELECT
table.*
FROM
table
INNER JOIN (
SELECT MAX(id) AS id FROM table GROUP BY name
) maxid ON table.id = maxid.id