MySQL - Как заказать объединенную таблицу? - PullRequest
0 голосов
/ 25 ноября 2011

У меня есть следующий SQL:

SELECT
    Artist.name
    Product.id
FROM
    Artist
INNER JOIN
    Product
ON
    Product.artist_id = Artist.id
GROUP BY
    Artist.artist_id
ORDER BY
    Artist.last_name, Artist.first_name;

Мне нужно, чтобы Product.id, который был возвращен, был самой последней записью, то есть самым высоким id для каждого исполнителя. Как мне это сделать?

Ответы [ 2 ]

2 голосов
/ 25 ноября 2011

Как насчет

SELECT
    Artist.name,
    max(Product.id)
FROM
    Artist
INNER JOIN
    Product
ON
    Product.artist_id = Artist.id
GROUP BY
    Artist.artist_id, Artist.name
ORDER BY
    Artist.last_name, Artist.first_name;

или я не правильно понял ваш вопрос?

2 голосов
/ 25 ноября 2011
SELECT
Artist.name
MAX(Product.id) as highest_id

это может работать

с использованием идентификатора для указания, что latest далеко от идеала,
, вам следует подумать о добавлении столбца даты-времени (например, launch_date),

с этим полем отслеживания даты,
вы можете правильно выполнить сортировку

...