一段时间之间的销售总额

时间:2019-07-28 17:20:19

标签: sql mysql-workbench

编写一个SQL查询,该查询确定并显示从2015年初到2018年底的已售商品总价(总销售额)。使用单引号提供汇总别名。

我可以拉开没有日期的总销售额。我不知道如何指定我只希望2015年至2018年之间的总销售额

 Select sum(item.ItemPrice) as `Total Sales`
 from customer, petshop_order, petshop_order_item, item
 where petshop_order.order_date between `2015-01-01` and `2018-12-31`
 And (customer.ssn=petshop_order.ssn
 And petshop_order.OrderNo = petshop_order_item.OrderNo
 And petshop_order_item.SKU=item.SKU);

错误代码:“ where子句”中的1054个未知列“ 2015-01-01”

2 个答案:

答案 0 :(得分:0)

使用反引号的单引号',即带有日期输入的`。用单引号更新您的查询,它应该可以工作。

答案 1 :(得分:0)

您的查询似乎比需要的要复杂得多。您正在引用似乎不必要的表:

select sum(i.ItemPrice) as Total_Sales
from petshop_order po join
     petshop_order_item poi
     using (OrderNo) join
     item i
     using (SKU)
where po.order_date >= '2015-01-01' and
      po.order_date < '2019-01-01';

注意:

  • 使用正确的,明确的,标准 JOIN语法。
  • 不需要customer表。
  • 表别名使查询更易于编写和阅读。
  • 请注意使用不等式进行日期比较。这比between安全,因为该代码适用于带有和不带有时间成分的日期。
  • 请注意,我将重命名为Total_Sales,因此无需转义列别名。

哦,这可以解决单引号引起的问题。