2011-11-10 40 views
0

我有一個包含大量記錄的表。它的拍賣網站。該表可以具有多個可以相同的user_id和可以相同的多個auction_id。MySQL選擇多個不同

我想寫一個腳本,發送一次電子郵件給每個出價的用戶。如果用戶在同一次拍賣中說10個出價,我只希望每個用戶每次拍賣發送一次電子郵件,每次出價。

我該如何做到這一點與2場不同? user_id字段和auction_listing字段?我還需要有一個WHERE子句,因此我只選擇運行少於24小時的拍賣記錄。

回答

0

不知道你的表模式很難回答你的問題。

一般來說,如果你在最後一個用戶只能在查詢中出現一次做一個GROUP_BY user_ID的結果

+0

感謝你好。實際上,我首先選擇所有拍賣時間不超過24小時,然後有一個嵌套的選擇查詢來獲得競拍者,以便小組工作...我應該考慮一下! – puks1978

1
SELECT DISTINCT b.user_id, b.auction_listing 
FROM AuctionBids b 
JOIN Auctions a USING (auction_listing) 
WHERE a.end_datetime < NOW() + INTERVAL 24 hour 

或者

SELECT b.user_id, b.auction_listing 
FROM AuctionBids b 
JOIN Auctions a USING (auction_listing) 
WHERE a.end_datetime < NOW() + INTERVAL 24 hour 
GROUP BY b.user_id, b.auction_listing 
+0

嗨,謝謝你。結果比我想象的要容易得多。我應該花10分鐘時間來思考這個問題。 – puks1978