【问题标题】:How do i find the average of profits grouped by weekday as opposed to average of profits within a weekday我如何找到按工作日分组的平均利润,而不是工作日内的平均利润
【发布时间】:2015-10-16 23:28:29
【问题描述】:

我的代码有什么问题?如果我在最后一组之后和之前删除代码,它会平均工作日内的每笔销售。但我希望它是所有工作日的平均值。

select  [Weekday], Avg(Amountpaid)
from (select  Sum(Amountpaid), [Weekday], [Date]
      from 
           itsthegoodtable

      group by [Weekday], [Date]
     )

group by [Weekday]

一直报错

关键字组附近的语法不正确

【问题讨论】:

  • 请为您正在使用的实际数据库或 DBMS 添加标签。

标签: sql syntax average weekday


【解决方案1】:

你快到了。您的查询缺少子查询的别名。

select [Weekday], Avg(Amountpaid) 
from (select Sum(Amountpaid) as amountpaid, [Weekday], [Date] from itsthegoodtable
group by [Weekday], [Date] ) t
group by [Weekday]

【讨论】:

  • 什么不起作用?您需要更具体地了解错误
  • Msg 8155,第 16 级,状态 2,第 9 行没有为“t”的第 1 列指定列名。消息 207,级别 16,状态 1,第 1 行无效的列名称“已付金额”。
  • 尝试修改后的那个..它以前缺少列别名amountpaid
  • 感谢我所缺少的只是我的函数的别名和名称。
【解决方案2】:

您需要为使用总和计算的值添加别名:

select  [Weekday], Avg(Amountpaid) as Amountpaid
from (select  Sum(Amountpaid) as Amountpaid, [Weekday], [Date]
      from 
           itsthegoodtable

      group by [Weekday], [Date]
     ) ap

group by [Weekday]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-12
    • 1970-01-01
    • 2018-05-09
    • 2013-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-24
    相关资源
    最近更新 更多