MySQL - 如何订购连接表?

时间:2011-11-25 14:51:48

标签: mysql sql join sql-order-by

我有以下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 个答案:

答案 0 :(得分:2)

SELECT
Artist.name
MAX(Product.id) as highest_id

这可能有效

使用ID表示latest远非理想,
您应该考虑添加日期时间列(例如launch_date),

使用此日期跟踪字段,
你可以正确地进行排序

答案 1 :(得分:2)

怎么样

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;

还是我误解了你的问题?