在“ where”子句中使用平均值

努贝克

我想从查询中选择最上面的x值,其中特定字段的有效值平均值大于10。为什么这会引发错误?

SELECT TOP 5 *
FROM Table A
WHERE AVG(X1.parm) from (VALUES (A.F1),(A.F2),(A.F3)) as X1(parm) where X1.parm >0 and X1.parm is not NULL) > 10
戈登·利诺夫

您的代码抛出错误,因为它avg()是一个聚合函数,不能在where子句中。

您似乎想要的是apply

SELECT TOP 5 *
FROM Table A CROSS APPLY
     (SELECT AVG(X1.parm) as avg_parm
      FROM (VALUES (A.F1), (A.F2), (A.F3)) X1(parm) 
      WHERE X1.parm > 0
     ) a
WHERE avg_parm > 10;

子查询计算平均值。可以在子句中使用计算WHERE

请注意,与之比较NULL是不必要的,因为会>滤除NULL值。

同样,这将返回平均值。如果您不希望结果中包含平均值,则选择A.*而不是*

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用where子句插入平均值

来自分类Dev

在mysql中使用group by子句查找平均值

来自分类Dev

SQL-基于平均值的WHERE子句?

来自分类Dev

在“ where”子句中使用新列

来自分类Dev

在UPDATE语句中使用WHERE子句

来自分类Dev

SQL查询:在WHERE子句中使用AND / OR

来自分类Dev

括号在where子句中使用

来自分类Dev

在WHERE子句中使用枚举的FlexibleSearch

来自分类Dev

在where子句中使用cassandra的ttl()

来自分类Dev

在Where子句中使用GetValue

来自分类Dev

在where子句中使用case语句

来自分类Dev

在“ where”子句中使用新列

来自分类Dev

在WHERE子句中使用Count值

来自分类Dev

在日期的where子句中使用案例

来自分类Dev

在Where子句中使用Mysql变量

来自分类Dev

在select语句中使用WHERE子句

来自分类Dev

在LINQ Where子句中使用GetProperties()

来自分类Dev

在WHERE子句中使用NOT LIKE

来自分类Dev

在where子句中使用别名-SQL

来自分类Dev

在MYSQLI where子句中使用日期

来自分类Dev

在Oracle的Where子句中使用案例

来自分类Dev

在Spark SQL的'WHERE'子句中使用'as'

来自分类Dev

MYSQL在WHERE子句中使用别名

来自分类Dev

在 WHERE 子句中使用 NULL

来自分类Dev

在 WHERE 子句中使用 MySQL 变量

来自分类Dev

if else 在 mysql where 子句中使用

来自分类Dev

在 WHERE 子句中使用 DIFFERENCE

来自分类Dev

在python中使用熊猫查找年度平均值

来自分类Dev

在php中使用加权平均值进行分级