【发布时间】:2018-02-26 21:46:29
【问题描述】:
我正在使用元数据库生成有关多个指标的客户报告。我有 SQL 方面的初学者知识,但 GUI 有助于构建除少数之外的大多数查询。
我有两张桌子
- 用户表,包括用户注册时间和用户 ID 的时间戳
- 包括用户 ID 的采购表(在用户表中可见)
我需要什么:表格显示当月购买的累计新用户(当月注册)。
我假设加入两个表,然后在检查注册日期时计算按天分组的不同 id 应该可以解决这个问题,但我对实际查询的样子有一个非常粗略的想法。
我认为这里已经回答了部分问题 - Cumulative distinct count
但是我不知道如何检查注册日期。任何帮助表示赞赏。
用户表列 ID、Email、Timestamp(时间戳记录入职日期)
采购表列 ID、用户ID、用户邮箱、产品ID、时间戳(这里的时间戳是购买时间)
编辑 感谢到目前为止的 cmets,我已经能够在当月的每一天进行购买时获得新的用户 ID。现在我需要将这些 ID 的累积总和放在一行中,以便在时间段结束时,我知道添加了多少新用户。
这是我当前的代码
SELECT count(DISTINCT p.`user_id`) Users_Activated, date(p.`timestamp`) Day
FROM `purchase` p
INNER JOIN `user` u ON u.`id` = p.`user_id`
WHERE date(u.`timestamp`) BETWEEN {{date1}}
AND {{date2}} AND date(p.`timestamp`) BETWEEN {{date3}} AND {{date4}}
GROUP BY date(p.`timestamp`)
ORDER BY date(p.`timestamp`) ASC
【问题讨论】:
-
WHERE YEAR(registrationdate) = YEAR(NOW()) AND MONTH(registrationdate) = MONTH(NOW()) -
请提供您为此尝试的任何查询。我们甚至不知道表名或列名,至少通过查看现有查询我们可以填写所需的逻辑。和/或您可以为每个表提供示例数据。
-
添加了我目前每天获得总购买量的基本代码。我现在需要计算不同的用户 ID,并检查当月注册的新用户