如何获得 2 个不同 WHERE 子句的列的平均值?
Posted
技术标签:
【中文标题】如何获得 2 个不同 WHERE 子句的列的平均值?【英文标题】:How to get average of a column for 2 different WHERE clauses? 【发布时间】:2015-10-27 02:11:26 【问题描述】:我需要获取 2 个不同 where 子句的列的平均值。这是我目前拥有的。
SELECT ART_Type,avg(ART_Length) AS AvgLength FROM Articles
WHERE ART_Type = 'BUS' OR ART_Type = 'LAW' ;
我需要获取 ART_Length 列的平均值,其中 ART_Type 列是 LAW 或 BUS。
我还需要在查询结果的第一列显示ART_Type。
当我运行上面的代码时,我得到了错误:
“您的查询未将指定的表达式 'ART_Type' 作为聚合函数的一部分。”
谢谢
【问题讨论】:
GROUP BY ART_Type
~ support.office.com/en-us/article/…
不客气。下一次,尝试搜索错误消息(省略架构的详细信息,例如表/列名)。这对我来说马上就出现了~***.com/questions/19430500/…
@phil 那是我做的第一件事。我看了一些答案,但我不知道他们做了什么不同
【参考方案1】:
SELECT ART_Type,avg(ART_Length) AS AvgLength
FROM Articles WHERE ART_Type = 'BUS' OR ART_Type = 'LAW'
GROUP BY ART_Type ;
【讨论】:
【参考方案2】:GROUP BY ART_Type
谢谢菲尔
【讨论】:
以上是关于如何获得 2 个不同 WHERE 子句的列的平均值?的主要内容,如果未能解决你的问题,请参考以下文章
MYSQL SELECT:如何获取一个额外的列,指示是不是满足 WHERE 子句中的第一个或第二个条件?