按月问题汇总数据

问题描述 投票:0回答:1

我正在开展一个学校项目,我需要汇总数据来回答业务问题。我会稍微改变一下,这样我就不会给学校带来麻烦,但假设我有一张表格,列出了汽车的购买日期和颜色。我正在尝试用它来制作一个表格,其中包含月份、颜色以及该月该颜色的总购买量。我想我基本上都在那里,但我也得到了之前所有月份的总计(一月很好,二月显示一月+二月总计)。

这是我的疑问:

SELECT EXTRACT(MONTH FROM purchase_date) AS month, color, COUNT(color) AS total
FROM sales_table
GROUP BY month, color
ORDER BY month, total DESC

我是 SQL 的初学者,希望得到任何建议,甚至只是一个可以帮助解决此问题的良好资源/教程的指针。

postgresql
1个回答
0
投票

是的,你很接近。尝试一下

SELECT EXTRACT(MONTH FROM purchase_date) AS month, color, COUNT(1) AS total
FROM sales_table
GROUP BY EXTRACT(MONTH FROM purchase_date), color
ORDER BY month, total DESC

您必须在 GROUP BY 子句中使用表达式本身(而不是列别名),因为此时列“month”还不存在 - 但当它到达 ORDER BY 子句时它已经存在。

© www.soinside.com 2019 - 2024. All rights reserved.