- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我有一个 mysql 表 t:
DateTime timestamp;
int userid;
而且我想知道一段时间内我的总用户数。我有这个:
2012-12-04 102
2012-12-05 101
2012-12-05 102
2012-12-05 103
2012-12-07 101
2012-12-08 104
所以第一次看到 101 是 12/5,第一次看到 104 是 12/7,以此类推。所以我想这样,对于按日期查看的总用户数:
2012-12-04 1
2012-12-05 3
2012-12-07 3
2012-12-08 4
(我不在乎那里是否有没有新条目的额外日期。)
我能得到的最接近的是每天的新用户数:
select distinct date, count(*) from
(select MIN(DATE(timestamp)) date from t group by userid order by date) t1 \
GROUP BY date;
这似乎有效;子查询给出每个用户标识的最早时间戳,外部查询按日期组合。但是我怎样才能把它累加起来才能得到见过的总数呢?
哦,是的,我看了MySQL query - find "new" users per day但它似乎没有满足我的要求。
最佳答案
SELECT x.timestamp
, COUNT(DISTINCT y.userid)
FROM t x
JOIN t y
ON y.timestamp <= x.timestamp
GROUP
BY timestamp;
GaryO,要理解它为什么有效,只需这样重写它...
SELECT DISTINCT x.timestamp, y.userid
FROM t x
JOIN t y
ON y.timestamp <= x.timestamp
ORDER
BY x.timestamp
, y.userid;
使用 sgeddes 的 sqlfiddle,这给了我们以下中间结果:
+---------------------+--------+
| timestamp | userid |
+---------------------+--------+
| 2012-12-04 00:00:00 | 102 |
| 2012-12-05 00:00:00 | 101 |
| 2012-12-05 00:00:00 | 102 |
| 2012-12-05 00:00:00 | 103 |
| 2012-12-07 00:00:00 | 101 |
| 2012-12-07 00:00:00 | 102 |
| 2012-12-07 00:00:00 | 103 |
| 2012-12-08 00:00:00 | 101 |
| 2012-12-08 00:00:00 | 102 |
| 2012-12-08 00:00:00 | 103 |
| 2012-12-08 00:00:00 | 104 |
+---------------------+--------+
所以在最后的查询中,我们所做的就是计算按日期分组的结果。
关于mysql:每天获取新用户,按天累计总用户数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14693941/
This question already has answers here: Using Variable for Thread group Ramp up time (3个答案) 3年前关闭。 从
我希望使用 RPyC 为硬件板提供 API 作为服务。该板一次只能满足一个用户的需求。有什么方法可以让 RPyC 强制执行一次只有一个用户可以访问吗? 最佳答案 我不确定这是否有效(或有效),但您可以
如果我想以每秒 10 个请求运行测试。如何让 Jmeter 选择每秒处理该请求数所需的最佳线程数。 我将线程数设置为与每秒请求数相同。 最佳答案 您可以使用恒定吞吐量计时器 click here你只需
我正在尝试进行查询以检查客户表并返回过去 30 天、过去 365 天和所有时间具有特定值的用户数。 所有时间的计数很简单: $stmt = $conn->prepare("SELECT count(i
我是一名优秀的程序员,十分优秀!