我有2個表,wp_events和wp_merchants。SQL根據重複記錄選擇最新記錄
我在wp_events表中有很多重複的行,唯一的區別是當記錄被添加到數據庫時的列uploaddate(TIMESTAMP)。我需要一個SQL語句來從wp_events表中選擇價格,但是如果有重複,請選擇最近的。
這是我到目前爲止,但並非所有的記錄被選中。
SELECT e1.merchant, e1.price, e1.url, wp_merchants.merchant_logo, wp_merchants.merchant_name, e1.eventname
FROM wp_merchants, wp_events e1
LEFT JOIN wp_events e2 ON (e1.merchant = e2.merchant
AND e1.uploaddate < e2.uploaddate)
WHERE e2.merchant IS NULL
AND wp_merchants.merchant_name = e1.merchant
ORDER BY price ASC
請參閱http://sqlfiddle.com/#!2/1db0e/1
你的查詢(如果不是最優的),看起來像它返回你所描述的應該。你到底在期待什麼? – SWeko 2012-03-06 15:11:35
是不是這是一個http://stackoverflow.com/questions/9270420/sql-closest-rows-to-now-but-unique重複?其實這是我提供的相同的查詢,你沒有標記爲接受,雖然它解決了這個問題。 – 2012-03-06 15:24:04
嗨是的,但由於某些原因,輸入更多的行後,似乎有問題。感謝您的期待..請參閱:ticketreview.net/festival-tickets/european-festivals/... 這列出了來自同一商家(WTS)的3個結果,但是您的查詢和上面的查詢僅從可能的4中選擇3個。因此,在結果中沒有WTS .. - – 2012-03-06 15:40:08