SQL队列查询输出
这是一个示例查询,我没有与这些值关联的数据,但我只需要知道此请求的输出将是什么类型的图表/信息:SQL队列查询输出,sql,Sql,这是一个示例查询,我没有与这些值关联的数据,但我只需要知道此请求的输出将是什么类型的图表/信息: SELECT cohorts.cohortyear, YEAR(orders.time) AS purchaseyear, SUM(orders.amount) AS amount FROM orders, (SELECT id AS customer_id, YEAR(created) AS cohortyear FROM customers) AS cohorts WHERE
SELECT
cohorts.cohortyear,
YEAR(orders.time) AS purchaseyear,
SUM(orders.amount) AS amount
FROM orders,
(SELECT id AS customer_id, YEAR(created) AS cohortyear FROM customers) AS cohorts
WHERE orders.customer_id = cohorts.customer_id
GROUP BY cohortyear, purchaseyear;
我不确定我是否理解这个问题。通过查看
SELECT
子句中的投影,我猜您的输出列将如下所示:
cohortyear(整数)| purchaseyear(整数)| amount(一些数字)
如果使用显式的join
语法,查询将编写得更好,更容易理解:
SELECT co.cohortyear, YEAR(o.time) AS purchaseyear, SUM(o.amount) AS amount
FROM orders o join
(SELECT id AS customer_id, YEAR(created) AS cohortyear
FROM customers cu
) co
on o.customer_id = co.customer_id
GROUP BY co.cohortyear, purchaseyear;
它是根据客户
记录创建的年份(假设创建的
听起来像什么),将客户分配到相似性组。因此,同年创建的所有客户都属于同一组。然后,它计算出每年在这一天或之后花费的金额。如果您运行该查询,那么输出将是不言自明的。比如:
CohortYear PurchaseYear Amount
2014 2014 $1000
2013 2014 $2000
2013 2013 $3000
. . .
第一行表示,对于2014年开始的客户,他们在2014年花费了1000美元。相比之下,2013年开始的客户在2014年花费了2000美元。这一群体在2013年花费了3000美元。然而,这些比较不是很好,因为它没有考虑到客户的数量。但那是另一件事。情况是,我收到了这个查询,需要了解它将显示的信息(见解)以及为什么它有价值。这有帮助!