[英]Query does not include the specified expression as part of an aggregate function in UNION query
[英]“Query does not include the specified expression as part of an aggregate function” when looking for top 3 values in group
这是一些数据的示例:
我正在尝试按ID_stop
和Nn
分组时获得L
的前3个值。
我尝试了以下SQL:
SELECT TOP 3 Sclerometrica_equotip.ID_stop, Sclerometrica_equotip.Nn, Sclerometrica_equotip.L
FROM Sclerometrica_equotip
GROUP BY Sclerometrica_equotip.ID_stop, Sclerometrica_equotip.Nn
ORDER BY Sclerometrica_equotip.ID_stop, Sclerometrica_equotip.Nn;
但出现以下错误:
查询不包括指定的表达式作为聚合函数的一部分。
该错误意味着查询中的某些字段不属于分组,也没有使用聚合函数聚合在一起。
分组时,您将基于分组的字段(在本例中为ID_stop
和Nn
)压缩一组记录。 这意味着当您有100条记录之前,现在有3条记录。但是,应该从这100条记录中的哪一条中取L
的值? 您必须在要分组的字段中包括L
,或者必须指定将对L
所有值起作用的某些操作。 您可以使用的可能操作是:
First(L)
Last(L)
Avg(L)
Min(L)
Max(L)
Sum(L)
Count(*)
StDev(L)
或StDevP(L)
Var(L)
或VarP(L)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.