统计购买表中不同的新用户(MySQL)
我正在使用metabase生成关于多个指标的客户机报告。我有SQL方面的初级知识,但GUI帮助构建了除少数查询之外的大多数查询 我有两张桌子统计购买表中不同的新用户(MySQL),mysql,metabase,Mysql,Metabase,我正在使用metabase生成关于多个指标的客户机报告。我有SQL方面的初级知识,但GUI帮助构建了除少数查询之外的大多数查询 我有两张桌子 用户表,包括用户注册时间和用户ID的时间戳 包括用户ID的采购表(见用户表) 我需要的:显示当月购买的累计新用户(当月注册)的表格 我假设连接两个表,然后在检查注册日期时按天计算分组的不同ID应该可以解决这个问题,但我对实际查询的外观有一个非常粗略的想法 我认为问题的一部分已经在这里得到了回答: 但我不知道如何核对注册日期。感谢您的帮助 用户表列 ID、
用户表列 ID、电子邮件、时间戳(时间戳记录入职日期) 购买表列 ID、用户ID、用户电子邮件、产品ID、时间戳(这里的时间戳是购买时间) 编辑 感谢到目前为止的评论,我已经能够在当月每天购买时获得新的用户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
我不知道你们桌子的全部结构,我会尽力的
SELECT u.* -- This will give you all info on all users
FROM users u
INNER JOIN purchases p
ON p.userID = u.ID
WHERE u.registrationDate BETWEEN NOW() - INTERVAL 30 DAY AND NOW()
考虑到可用信息的有限性,我认为这是可行的。时间间隔位,但可能不是。如何
SELECT DISTINCT u.id, u.whatever
FROM user_table u INNER JOIN purchase_table p
ON (u.id = p.userid)
WHERE u.signup >= DATE_FORMAT(NOW() ,'%Y-%m-01')
这将为您获取已购买的当前日历月的注册
其中YEAR(registrationdate)=YEAR(NOW())和MONTH(registrationdate)=MONTH(NOW())
请提供您为此尝试的任何查询。我们甚至不知道表名或列名,至少通过查看现有查询,我们可以填写所需的逻辑。和/或您可以为每个表提供示例数据。添加了我当前如何获取每日总购买量的基本代码。我现在需要计算不同的用户ID,并检查当月注册的新用户