2012-04-02 16 views
1

データベースに、サイトへのログインに成功したときにログイン番号とタイムスタンプを挿入するテーブルを作成しました。月にログインした日数をカウントする

私はUNIX_TIMESTAMP

を介してデータを挿入しています私は今、与えられた月に、ユーザごとにログインの数をカウントするクエリを作成する必要があります。..キッカーは、私だけの日数を追跡したいということですユーザが実際のログインカウント番号ではなく、特定の月にログインしたことを示します。

これは、ログインし、各ユーザーという私が始めているが、私は、総ログインのカウント数を必要といけない、月額日のちょうど数クエリです:

SELECT login, COUNT(DAY(FROM_UNIXTIME(datestamp))) 
FROM logincount 
GROUP BY login 

答えて

1

は、私はあなたがCOUNT(DISTINCT)をしたいと考えています。

SELECT login,count(a) FROM (SELECT login, DAY(FROM_UNIXTIME(datestamp) AS a FROM logincount) sq GROUP BY login; 

のための日数のカウントを取得する:あなたは月あたりのカウントをしたい場合は

また、あなたはあなたが使用することができ、あなたのSELECTGROUP BY

SELECT 
    login, 
    MONTH(FROM_UNIXTIME(datestamp)) AS MonthOfYear, 
    COUNT(DISTINCT DAY(FROM_UNIXTIME(datestamp))) AS DaysInMonth 
FROM logincount 
GROUP BY login, MONTH(FROM_UNIXTIME(datestamp)) 
0

MONTH機能を追加することができますそれぞれのログイン。

関連する問題