我的PostgreSQL数据库中有以下表:
users: id, created_at (timestamp)
purchases: id, created_at
一个用户可以有多个购买。我想了解的是,在特定月份创建的用户,在他们进行第一次购买之前的平均时间长度是多少。这应该只包括进行一次或多次购买的用户。
目标是让数据看起来像这样:
weeks_ago | Date Start | Date End | Total Users in Cohort | Total Users w >=1 Purchase | avg days to complete 1st purchase
我可以尝
我正在尝试为这个问题编写一个PostgreSQL查询:
2011年购买了多少产品?( 2011年购买意味着订单描述在2011年“完成”)。
到目前为止,我得到了这个查询:
SELECT
COUNT(product.id)
FROM
product
JOIN orderitem ON
productid = product.id
JOIN "order" ON
"order".id = orderitem.orderid AND
EXTRACT(year FROM
我知道如何查询我的数据库,以了解我在上一阶段有多少用户,我也知道如何查询它,以了解在上一阶段有多少人购买。现在,我很乐意将两者结合起来,以找出在上一阶段购买的用户的百分比(转化率)。
这是我的尝试,但似乎不起作用:/非常感谢任何帮助!(使用PostgreSQL)
with user_count as
(select count(distinct user_id) from log),
buyer_count as (select count (distinct user_id) from log where event_type = 'Purchase')
select buy
我正在使用一个现有的电子商务数据库。实际上,这个过程通常是在Excel中完成的,但我们想在PostgreSQL (版本10.6)中直接使用查询来尝试它。
我们将在一年内至少购买过一次的人定义为活跃客户。这意味着,如果我分析2020年的第22周,活跃客户将是自2019年第22周以来至少购买过一次的客户。
我想要一年(2020)每周的输出。基本上我需要的是..。
select
email,
orderdate,
id
from
orders_table
where
paid = true;
|---------------------|----------