【发布时间】:2015-08-03 07:54:50
【问题描述】:
手头确实有棘手的问题。 我如何计算由此提供的用户总数。
SELECT
MONTH(VisitTime) AS mon,
COUNT( distinct IP) AS usersbymonth
FROM stats
WHERE
YEAR( VisitTime) = YEAR( current_date )
GROUP BY mon
棘手的问题是,汇总和计数(不同的 IP)提供了更低的 计数(全年不同)。那是因为 GROUP BY mon 允许同一个 IP 存在多个月份。
现在结果显示基本正确。 Month number|usersbymonth,如果您执行去年的目标查询,它将导致 12 个月前的用户数。
那么我如何计算 usersbymonth 单元格的总和?
【问题讨论】:
-
因此,如果您在 1 月和 3 月都有用户 X 从 IP 进入,您只希望将其计为 1 次访问,而您当前的查询将其计为 2 次不同的访问?您必须进行单独的查询并按年分组,因为每月分组会破坏对那些“不同”访问进行不同操作的任何机会。
-
显示的基本查询按照我的意愿执行所有操作。 3 月和 1 月访问的用户被计为 2。我只想计算所有月份的总和,这样我就可以计算当月用户的百分比
标签: mysql