Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.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
Sql 当我加入dim_date时,为什么我会看到几个月的结果_Sql_Postgresql - Fatal编程技术网

Sql 当我加入dim_date时,为什么我会看到几个月的结果

Sql 当我加入dim_date时,为什么我会看到几个月的结果,sql,postgresql,Sql,Postgresql,下面是我的简单Postgresql查询 SELECT dd.year_actual as yr, sum("Ordered_Amount") from channel_sales cs JOIN dim_date dd ON cs."date" = dd.date_actual GROUP BY dd.year_actual, cs."Ordered_Amount" 下面是结果。我所期望的是一个包含年度和总金额的单行结果,但它将其分解为2018年的多行。我不确定我在这里做错了什么。 这

下面是我的简单Postgresql查询

SELECT dd.year_actual as yr, sum("Ordered_Amount") from channel_sales cs
JOIN dim_date dd ON cs."date" = dd.date_actual
GROUP BY
dd.year_actual,
cs."Ordered_Amount"

下面是结果。我所期望的是一个包含年度和总金额的单行结果,但它将其分解为2018年的多行。我不确定我在这里做错了什么。


这是我如何进行连接,还是因为我以错误的方式使用GROUPBY子句。我无法计算它的寿命。

因为你不是只按年份分组。您还可以按订单金额进行分组,该金额也可以求和()。因此,您实际上是按年度和普通订单金额求和。如果说在2018年,有4个订单金额为100,将显示为2018年的400。这将按订购数量重复。即:

2018,100
2018,100
2018,100
2018,100
2018,200
2018,300
2018,300
将是:

2018,400
2018,200
2018,600
写为:

SELECT dd.year_actual as yr, sum("Ordered_Amount") 
from channel_sales cs
  JOIN dim_date dd ON cs."date" = dd.date_actual
GROUP BY 
dd.year_actual

还要注意,如果这不是一对多或一对一的关系,那么求和结果将是错误的。为了避免这种情况,您可以先求和,然后加入。根据表结构和数据来自何处,甚至可能不需要联接。

因为您不只是按年份分组。您还可以按订单金额进行分组,该金额也可以求和()。因此,您实际上是按年度和普通订单金额求和。如果说在2018年,有4个订单金额为100,将显示为2018年的400。这将按订购数量重复。即:

2018,100
2018,100
2018,100
2018,100
2018,200
2018,300
2018,300
将是:

2018,400
2018,200
2018,600
写为:

SELECT dd.year_actual as yr, sum("Ordered_Amount") 
from channel_sales cs
  JOIN dim_date dd ON cs."date" = dd.date_actual
GROUP BY 
dd.year_actual

还要注意,如果这不是一对多或一对一的关系,那么求和结果将是错误的。为了避免这种情况,您可以先求和,然后加入。根据表结构和数据来自何处,可能甚至不需要联接。

因为您不是仅按年份分组。因为您不是仅按年份分组。这很简单。。。。。。非常感谢您的快速回复。这很简单。。。。。。非常感谢您的快速回复。