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