2017-10-20 8 views
-3

誰かが私にこの問合せのアイデアを与えることができるのだろうかと思います。 私はmemberIDのリストを持っています。メンバーごとに、設定された日付(調査日)を持っています。 given_dateと+30 dayの間に作成された注文数を取得する簡単なSQLクエリはありますか?基本的には、調査後30日以内にメンバーに注文してもらう。 私は毎月このリストを取得しています。 私のデータベースには「メンバーm」テーブルと「注文o」テーブルがあります。 'orders'テーブルには日付フィールドとして 'o.created'があります。指定されたメンバーのリストと指定された間隔(given_date + 30dayに等しい)の注文数を取得する方法

私は簡単に個々のメンバーレベルで検索できますが、メンバーリストは大きく、数百の異なるメンバー& given_datesになります。

example

+0

?また、質問をする前に、質問する方法を学ぶことは良いことです。 https://stackoverflow.com/help/how-to-ask – Eric

+0

https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-toを参照してください。 -me-to-be-a-very-simple-sql-query – Strawberry

+0

申し訳ありませんが、私はこれに新しいです...私は質問をすることについてあなたのアドバイスを取る....これまでのところ私はどんなsimillar以前に質問されていましたが、十分近いものを見つけることができませんでした... – dano

答えて

0

あなたはCOUNTGROUP BYを使用することができ、例えば:あなたがこれまでに試してみました何

SELECT id, COUNT(*) 
FROM members 
WHERE given_date BETWEEN '2017-10-12' AND DATE_ADD('2017-10-12', INTERVAL 30 DAY) 
GROUP BY id; 
+0

Darshanに感謝...事は...すべてのmemberIDにはgiven_dateが関連付けられています...すべてが同じ基準日を持つ場合、おそらくこれはうまくいくでしょう... – dano

+0

この解決策は、この間隔にあるすべての 'given_date'値に対してうまく動作します。メンバーIDは 'given_date'と同じである必要はありません。 –

+0

私はおそらく正しく説明しなかった...データベースにはメンバーと注文テーブルがある。 membersテーブルにはmembers.idがあり、ordersテーブルにはorders.created datesがあります.... given_datesはデータベースの一部ではなく、これらはデータセットの外部にあります。私はgiven_dateから30日以内に作成された注文の数を抽出するために探しています....あなたはそれがデータベースに一時的なテーブルを作成する必要があると思いますか?(member.id、given_dateのペアリングを含むそこには? – dano

関連する問題