【问题标题】:How do I sum visits with an SQL query?如何使用 SQL 查询汇总访问次数?
【发布时间】:2010-11-03 17:38:21
【问题描述】:

我正在尝试过滤 SQL 数据库。

每一行代表一个用户,我关注的主列标题为 last_visited,格式为… 2009-06-17 12:15:32。

过去一天/一周/一个月有多少用户访问过?

喜欢:

SELECT COUNT(*) AS USERS_TODAY
FROM parts_users
Where updated_at > (NOW()-7)

【问题讨论】:

    标签: sql date time count


    【解决方案1】:

    那么是列文本还是日期时间?如果是前者:

    SELECT COUNT(*) AS USERS_TODAY 
    FROM parts_users
    WHERE CONVERT(datetime, updated_at, 120) > DATEADD(day, -7, GETDATE())
    

    如果是后者,则省略 CONVERT。

    或者,您可能会发现类似的东西很有用:

    SELECT CONVERT(datetime, LEFT(updated_at, 10), 120) AS DATE_ONLY,
           COUNT(*) AS USERS_TODAY 
    FROM parts_users
    WHERE CONVERT(datetime, updated_at, 120) > DATEADD(day, -7, GETDATE())
    GROUP BY CONVERT(datetime, LEFT(updated_at, 10), 120)
    

    【讨论】:

      【解决方案2】:

      How to query multiple SUMs of the same item using SQL in iReport

      SELECT
        SUM(case when (NOW()-1) <= datetime then 1 else 0 end) as 'today',
        SUM(case when (NOW()-7) <= datetime then 1 else 0 end) as 'thisweek',
        COUNT(*) as 'thismonth'
      FROM
        table
      WHERE
        (NOW()-30) <= datetime AND datetime <= NOW()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-03-30
        • 2013-12-20
        • 2021-11-16
        • 2020-03-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多