2017-05-07 12 views
0

SQLテーブルから週ごとのレートを取得することが日常的にクリックした人の割合を計算することは容易である私はSQLテーブルを持っている

dt - date 
userid - id of a user 
enroll - whether user enrolled or not (1 if user did, 0 otherwise) 

以下の2つのカラムを持つ、それはだ(のはAそれを呼びましょう)毎週のように割合を算出し、MySQLでの素敵な内蔵機能、毎月、毎年(または他のいくつかのカスタマイズ可能な日付の範囲)があるかどうちょうど

select dt, sum(enroll)/count(*) as pct from A group by dt 

しかし、私は思っていました。

簡単な方法はありますか?

+0

役立つ機能がいくつかあります。月次または年次の場合は、MONTHおよびYEAR機能を使用できます。他の範囲については、INTERVALを使用できます。すべての構文と例のためのGoogleに簡単です。 –

+0

登録していないユーザーに関する情報を保存する理由は何ですか?私は入会しませんでした。私はそこにいますか? – Strawberry

答えて

0

集計関数と、特定の日付の月を決定する方法が必要です。 LAST_DAY(datestamp) gives you midnight月の最終日に任意の日付スタンプが含まれています。

だから、これを試してください。

SELECT LAST_DAY(dt) month_ending, 
     sum(enroll)/count(*) as pct 
    FROM a 
    GROUP BY LAST_DAY(dt) 

何週間も同じことができます。しかし、あなたは週単位でグループ化する方法が必要です。ちょうどLAST_DAY()のように月単位でグループ化できます。私はそれを見ることをお勧めします。

関連する問題