2011-11-10 15 views
0

私は多くのレコードを保持する1つのテーブルを持っています。オークションサイト用ですこの表には、複数のuser_idを同じにすることができ、複数のauction_idを同じにすることができます。MySQL複数の区別を選択

私は、入札した各ユーザーにメールを1回送信するスクリプトを作成しようとしています。ユーザーが同じオークションに10個の入札単価を設定した場合、オークションごと、1回の入札ごとに1回だけユーザーに電子メールを送信します。

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