【问题标题】:MYSQL Query Count the Number of Distinct Values Per Day For Past 7 Days [duplicate]MYSQL查询计算过去7天每天不同值的数量[重复]
【发布时间】:2014-08-10 00:19:15
【问题描述】:

我需要查找过去 7 天每天的记录数,但是,ip 每天必须是唯一的(ip 不能每天计算两次)。

这是我目前的查询。截至目前,它计算每天的记录数,但不检查 ip 是否唯一。

SELECT extract( DAY FROM date_visited ) AS theDay, 
    count( * ) AS numberOfItems 
    FROM table 
    WHERE `date_visited` >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) 
    GROUP BY extract( DAY FROM date_visited )

这返回每天的总数,而不是每天唯一 ip 的数量...

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    你需要

    COUNT(DISTINCT ip) AS numberOfItems
    

    这样 SQL 很酷。

    【讨论】:

    • #1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 2 行的 'DISTINCT ip) AS numberOfItems FROM stattracker WHERE date_visited >= DATE_SU' 附近使用正确的语法
    • 谢谢@Ollie Jones,我在进行建议的调整时遇到了错误。我无法正确执行此操作。知道为什么会发生这种情况吗?
    • 你没有说你的ip栏的名字。所以我猜到了。另外,我应该在 COUNT 和括号之间没有空格
    猜你喜欢
    • 2019-02-17
    • 2020-03-26
    • 1970-01-01
    • 2013-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多