2011-11-25 79 views
0

我有以下SQL:MySQL - 如何訂購連接表?

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。我該怎麼做呢?

+0

您試過ORDER BY Product.artist_id DESC LIMIT 1嗎? –

+0

我想要返回的是他們最新產品的藝術家名單... – freshest

回答

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; 

還是我誤解了你的問題?

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

這可能會使用ID來表示latest很不理想工作


你應該考慮增加一個日期時間列(如LAUNCH_DATE),

與此日期跟蹤現場,
你可以做正確排序