处理日期
Parch & Posey 在哪一年的总销售额最高?数据集中的所有年份保持均匀分布吗?
SELECT DATE_PART('year', occurred_at) ord_year, SUM(total_amt_usd) total_spent FROM orders 为什么不需要连接几个表?? GROUP BY 1 ORDER BY 2 DESC;
对于
2013
年和2017
年来说,每一年只有一个月的销量(2013 年为 12,2017 年为 1)。 因此,二者都不是均匀分布。销量一年比一年高,2016 年是到目前为止最高的一年。按照这个速度,我们预计 2017 年可能是最高销量的一年。Parch & Posey 在哪一个月的总销售额最高?数据集中的所有月份保持均匀分布吗?
为了保持公平,我们应该删掉 2013 年和 2017 年的销量。原因如上。SELECT DATE_PART('month', occurred_at) ord_month, SUM(total_amt_usd) total_spent FROM orders WHERE occurred_at BETWEEN '2014-01-01' AND '2017-01-01' GROUP BY 1 ORDER BY 2 DESC;
12 月的销量最高。
Parch & Posey 在哪一年的总订单量最多?数据集中的所有年份保持均匀分布吗?
SELECT DATE_PART('year', occurred_at) ord_year, COUNT(*) total_sales FROM orders GROUP BY 1 ORDER BY 2 DESC;
同样,到目前为止,2016 年的订单量最多,但是与数据集中的其他年份相比,2013 年和 2017 年的分布不均匀。
- Parch & Posey 在哪一个月的总订单量最多?数据集中的所有年份保持均匀分布吗?
12 月依然是销量最多的月份,但是有趣的是,11 月是销量第二多的月份。为了保持公平,删掉了 2017 年和 2013 年的数据。SELECT DATE_PART('month', occurred_at) ord_month, COUNT(*) total_sales FROM orders WHERE occurred_at BETWEEN '2014-01-01' AND '2017-01-01' GROUP BY 1 ORDER BY 2 DESC;
Walmart
在哪一年的哪一个月在铜版纸上的消费最多?
在 2016 年 5 月,Walmart 在铜版纸上的消费做多。SELECT DATE_TRUNC('month', o.occurred_at) ord_date, SUM(o.gloss_amt_usd) tot_spent FROM orders o JOIN accounts a ON a.id = o.account_id WHERE a.name = 'Walmart' GROUP BY 1 ORDER BY 2 DESC LIMIT 1;
或者下面这种写法: SELECT DATE_PART('year', occurred_at) ord_year, DATE_PART('month', occurred_at) ord_month, SUM(o.gloss_amt_usd) gloss_spent
FROM orders o
JOIN accounts a
ON a.id = o.account_id
WHERE a.name = 'Walmart'
GROUP BY 1, 2
ORDER BY 3 DESC
LIMIT 1;