- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
正在寻找一个优雅的解决方案...我发现我所做的任何事情都非常丑陋...我只是想绘制每个月有多少用户活跃(在他们的开始/结束日期内)。自然地,我需要计数为 0,其中月份在该报告日期范围内没有活跃用户...
TABLE MEMBERSHIPS
Name, Start_date, End_date
Joe, 2017/02/01, 2017/04/01
Bob, 2017/03/01, 2017/05/01
Moe, 2017/03/01, 2017/05/01
Lou, 2017/04/01, 2017/05/01
所以我需要一份按月统计的活跃成员(member)报告...也就是说,在给定范围内计算给定月份的活跃成员(member)数量...所以预期结果:
Reoort for 2017/01/01 to 2017/06/01
Month, Count
01 | 0
02 | 1
03 | 3
04 | 4
05 | 3
06 | 0
我确定这是一个常见的用例...只是找不到任何好的...
谢谢,
最佳答案
这里的问题是缺少创建报告所需的部分数据。尽管没有该月的数据,但数据库应该如何知道您要包括该月 01?
解决此问题的一种简单方法是创建一个表格,其中包含报告应包括的所有月份。为了进一步简化事情,而不是年份和月份本身,只需将位于相应月份的任意日期写入该表。
Table ReportMonths:
ReportMonth datetime
2017-01-15
2017-02-15
2017-03-15
2017-14-15
2017-05-15
2017-06-15
使用新表创建报告:
SELECT
ReportMonths.ReportMonth,
COUNT(*)
FROM
ReportMonths, MEMBERSHIPS
WHERE
(MEMBERSHIPS.Start_date <= ReportMonths.ReportMonth) AND
(MEMBERSHIPS.End_date > ReportMonths.ReportMonth)
GROUP BY
ReportMonths.ReportMonth;
免责声明
1) 我现在手头没有MySQL,所以无法测试代码。如有语法错误请见谅。不过,它应该为您提供解决问题的一般方法。
2) 如果您有数百万行,该解决方案可能会很慢或者可能会使 MySQL 崩溃,因为它必须首先构建两个表的叉积。如果是这种情况,我们可以构建一个性能更好的更复杂的查询。如果您有兴趣,请告诉我们...
免责声明结束
上面的解决方案会将有问题的月份作为日期返回。如果你不想这样,那么 SELECT YEAR(ReportMonths.ReportMonth), MONTH(ReportMonths.ReportMonth), ...
而不是 SELECT ReportMonths.ReportMonth, ...
.
如果您不想使用第二张表,恐怕您将不得不编写一个存储过程或后端应用程序,每年和每月循环一次,并在每个循环中选择行数在当前年/月之前开始和之后结束,然后将该计数写入某处,可能是另一个表或数组,以供进一步处理。
优点是数据库不必在两个表之间构建叉积;缺点是这不是单查询解决方案。
关于mysql - 按月统计的活跃成员数...,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46513122/
尝试根据 :server-name 在请求中返回的内容加载特定模板: (ns rosay.views.common (:use noir.core) (:require [noir.reque
我想检查谁是活跃用户(过去 7 天都登录过)以及谁是非活跃用户(过去 7 天没有登录过)。我有 2 个表用户和机构。用户表结构如下: id | first_name | email | agency
我的 CSS 有问题。我试图将事件类设置为在垂直菜单上以粉红色突出显示,但事实并非如此。我如何在没有用户悬停在它上面的情况下保持它点亮。这是我的 HTML 和 CSS。 HTML 代码:
我有一个 Tile,当它处于 Activity 状态时,会运行一个计时器,在这五分钟内执行一项任务,然后在一定时间后返回到非 Activity 状态。 但是,我遇到的问题是服务被终止了。当所述计时器启
我已经知道如何在点击类(class)时激活它,但是当我将鼠标悬停在特定区域时如何激活类(class)? 这里是点击时获取事件类的代码: >Contact 是不是这样的: $('').hover(
我在使用 screen 时遇到问题。我知道 screen session 在主进程工作时工作,但我怎样才能让这个 session 保持事件状态?我需要这个,因为 session 关闭时有一些子进程被杀
我有一个 session 超时为 15 分钟的站点。在某些页面上,用户有时会花费超过 15 分钟的时间来填写回复。在这种情况下,使 session 保持事件状态的最佳解决方案是什么? 我已经在这些页面
我正在网页(在弹出窗口中)检查用户状态 - 他是活跃的还是空闲的。如果他空闲超过 30 分钟,窗口将自动关闭并重置数据库中的一些标志。 我设置了包含时间的 cookie(他打开弹出窗口的时间),并在每
由于某种原因,Jenkins 一直停止工作,我必须重新启动 jenkins 服务才能使其再次工作。每次发生这种情况时,服务都是“事件(退出)”,但日志中没有任何内容。我使用 Ubuntu 16.04。
我有一个幻灯片,需要单击它才能转到下一个图像/视频。但是,我想自动执行此操作,因此不需要任何用户事件。 页面如下所示: Slide 1 Slide 2 Slide
我正在使用 C# 应用程序来验证和检查位于 Window 2008 64 位服务器上的 Active Directory 用户。 使用以下代码提供用户名和密码时,我能够成功验证用户:我的域名值为 ro
这个问题在这里已经有了答案: Is there a CSS parent selector? (33 个答案) 关闭 9 年前。 有没有办法根据类中子元素的类来选择父元素?与我相关的示例是关于 ht
我正在尝试连接到 API,对用户进行身份验证,然后查看用户详细信息。这是通过首先访问登录端点来完成的 http://api.example.com/login// 登录然后查看用户详细信息: http
我正在尝试连接到 API,对用户进行身份验证,然后查看用户详细信息。这是通过首先访问登录端点来完成的 http://api.example.com/login// 登录然后查看用户详细信息: http
我是一名优秀的程序员,十分优秀!