【问题标题】:Select the count of records by id in the last week选择上周的id记录数
【发布时间】:2013-11-10 18:20:18
【问题描述】:

基本上,我在 MySQL 数据库中有一个表,其中包含以下行,我希望能够根据每个用户在过去一周对他的任何怪物获得的查看次数创建排行榜。类型是从 1 到 8 的层,必须包含在查询中(type 越高层越高。每行存储一个视图。

ViewId - 视图 ID,主键

MonsterId - 怪物的 ID

用户名 - 所有者的姓名

时间 - PHP time() 记录

这可能会涉及到 count() 东西,但我真的不确定。

【问题讨论】:

  • 你能展示一些示例数据吗?
  • 查看this question如何添加示例数据

标签: php mysql sql


【解决方案1】:

你需要使用DATE_SUB:

select Username , COUNT(ViewId)
   from TABLENAME
   where  DATE(Time) >= DATE(DATE_SUB(NOW(), INTERVAL 7 DAY))
   group by Username;

【讨论】:

  • #1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“按用户名分组”附近使用正确的语法
【解决方案2】:
select username, count(viewid)
from your_table
where `time` >= now() - interval 7 day
group by username

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-13
    • 1970-01-01
    • 1970-01-01
    • 2011-11-15
    相关资源
    最近更新 更多