2011-06-23 9 views
1

私は、ユーザーがサービスを購読したり辞退したりしたときに格納するデータベースを持っています。私がしたいのは、毎月購読を解除した人を見てから、購読してから30日以内にその人のどれが退会したのかを確認することです。私はDateJoined_DateUnsub_という2つのフィールドを持っていて、どちらもsmalldatetimeを返します。 DateJoinedDateUnsubを使ってこれらの人々をどのように見つけることができますか?私は何らかの計算をしなければならないことを知っています.SQLを使用していなければ、これを簡単に行うことができます。SQLは範囲内のユーザーを取得します

+0

何を試しましたか? SQLでは何ができますか?これをSQLで実装するのに特に困難がありますか? –

+0

正直言って私の最大の問題は、ライブラリの知識があまりなく、探すべきものが分からないということです。> –

+0

DATEDIFFとは別に何が必要でしょうか?[どのようにタイムスタンプを特定の日付/時間の部分](http://stackoverflow.com/questions/2639051/what-is-the-best-way-to-truncate-a-date-in-sql-server)月ごとのグループデータ)。 [グループ化方法とデータの集計方法](http://www.sqlteam.com/article/how-to-use-group-by-in-sql-server) [条件付きで集計する方法](http://stackoverflow.com/questions/1288058/conditional-count-on-a-field)(これは、あなたがアンサブスクライブしたユーザーの総数と30日以内に退会したもの)。 –

答えて

1

どのDBMSを使用していますか? MySQLの場合:毎月退会ユーザーの数を取得するためとして

select * from table where DATEDIFF(DateUnsub_, DateJoined_) <= 30 
+0

私は 'datepart'引数が必要だと思います。 –

+1

MySQLには2つのパラメータしかありません:http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_datediff –

+1

ああ、OPは指定していません。謝罪いたします。 –

関連する問題