基本上,我在MySQL数据库中有一个包含以下行的表格,我希望能够根据每个用户在过去一周内对他的任何怪物的观看次数创建一个排行榜。类型是从1到8的层,必须包含在查询中(层越高type
。每行存储一个视图。
ViewId - 视图ID,主键
MonsterId - 怪物的身份
用户名 - 所有者姓名
时间 - 记录PHP时间()
这可能涉及count(),但我真的不确定。
答案 0 :(得分:2)
您需要使用DATE_SUB:
select Username , COUNT(ViewId)
from TABLENAME
where DATE(Time) >= DATE(DATE_SUB(NOW(), INTERVAL 7 DAY))
group by Username;
答案 1 :(得分:0)
select username, count(viewid)
from your_table
where `time` >= now() - interval 7 day
group by username