Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
统计购买表中不同的新用户(MySQL)_Mysql_Metabase - Fatal编程技术网

统计购买表中不同的新用户(MySQL)

统计购买表中不同的新用户(MySQL),mysql,metabase,Mysql,Metabase,我正在使用metabase生成关于多个指标的客户机报告。我有SQL方面的初级知识,但GUI帮助构建了除少数查询之外的大多数查询 我有两张桌子 用户表,包括用户注册时间和用户ID的时间戳 包括用户ID的采购表(见用户表) 我需要的:显示当月购买的累计新用户(当月注册)的表格 我假设连接两个表,然后在检查注册日期时按天计算分组的不同ID应该可以解决这个问题,但我对实际查询的外观有一个非常粗略的想法 我认为问题的一部分已经在这里得到了回答: 但我不知道如何核对注册日期。感谢您的帮助 用户表列 ID、

我正在使用metabase生成关于多个指标的客户机报告。我有SQL方面的初级知识,但GUI帮助构建了除少数查询之外的大多数查询

我有两张桌子

  • 用户表,包括用户注册时间和用户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,并检查当月注册的新用户