1

私はテーブルの答えを持つ小さなゲームのデータベースを持っています:各ユーザーは1日に最大2回プレイして答えることができます。テーブルの答えは次のように構成されています。

UID | ANSWER | DATE

1日に少なくとも1回プレイしたユーザーの数を取得するためのクエリを実行したいと思います。私はこのようなことをしましたが、これは機能していません。

SELECT Day(date) as n, 
       Dayname(date) as m, 
       uid,             
       COUNT(uid) as c 
FROM answers
WHERE Year(date) = '2012' 
GROUP BY uid HAVING count( * ) <=2 //COUNT user who played at least 2 times per day
GROUP BY n //group by day
ORDER BY n

そして、私はこのような結果を得たいと思います:

Friday | 9-5-2012 | 1254

Saturday | 10-5-2012 | 1427 ..。

助けていただければ幸いです...

4

1 に答える 1

0

2 つの句の代わりにgroup by、日ごとにグループ化する 1 つの句を使用します。

select  day(date) as d
,       month(date) as m
,       count(distinct uid) as c 
from    answers
where   year(date) = '2012' 
group by 
        day(date)
,       month(date)
having  count(*) > 1
于 2012-09-17T14:06:02.550 に答える