2016-08-08 10 views
0

URLを訪問した日に「さまざまなユーザーの数」を取得するクエリが必要です。これは私のテーブルの構造 enter image description hereURLを訪問した1日にカウントするユーザーの数を確認

であると私は

SELECT DISTINCT `userid`,`url`, FROM_UNIXTIME(`time`,'%Y-%m-%d') as date,count(`userid`) as usercount FROM `mdl_log` GROUP BY FROM_UNIXTIME(`time`,'%Y-%m-%d') 

このクエリを試してみたが、それは動作しません。このクエリを修正するのを手伝ってください。

+0

どのような出力ですか? –

+0

出力が間違ったユーザー数を示しています。 – ankit

+0

以下の回答数を使い分けてください –

答えて

1

使用disinctと総ユーザが特定の日に特定のリンクに訪れた得るために一緒に

SELECT count(DISTINCT `userid`) as usercount,`url`, FROM_UNIXTIME(`time`,'%Y-%m-%d') as date FROM `mdl_log` GROUP BY FROM_UNIXTIME(`time`,'%Y-%m-%d') 
+0

これは 'url'に関するエラーを投げるかもしれないと思います。集計関数でもグループでも使用されていません。 – jonju

+0

あなたはURLでグループ化すべきです。他の場合は、FROM_UNIXTIME( 'time'、 '%Y-%m-%d' ) ' –

+0

mysqlの@jonjuはエラーを投げません。しかし、SQL標準に従ってそれは –

0

カウントは、あなたは、URL &日、グループにする必要があります。

SELECT 
    Count(userid) as usercount ,url, FROM_UNIXTIME(time,'%Y-%m-%d') as date 
FROM 
    mdl_log 
GROUP BY date,userid 
+0

それはエラーを与える "#1241 - オペランドは1列を含む必要があります" – ankit

+0

編集された答えを確認してください – jonju

+0

それは動作しません。 1日に同じURLを訪問したユーザー数を返します。私は別のユーザーカウントしたい。 – ankit

関連する問題