首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >M. Access TRIMMEAN如何

问M. Access TRIMMEAN如何
EN

Stack Overflow用户
提问于 2018-03-27 16:12:08
回答 2查看 452关注 0票数 1

我需要在Access中执行TREAMMEAN,它没有此功能。

在一张桌子上,我有很多员工,每个人都有很多记录。我需要为每个员工分别设置TRIMMEAN值。

以下查询对所有记录执行前10 %的查询:

代码语言:javascript
复制
qry_data_TOP10_ASC

qry_data_TOP10_DESC

unionqry_TOP10_ASCandDESC

qry_data_ALL_minus_union_qry

在那之后,我可以使用Avg (平均)。

但我不知道如何为每个员工做这件事。

可视化:

​

注意:这个问题是为了简化问题而编辑的。

EN

回答 2

Stack Overflow用户

发布于 2018-03-27 17:33:39

这将为您提供您想要的,这两个子查询应该关联每个员工的前10位(上升和下降)。然后,这两个NOT应该从Table1记录中删除这些记录,然后将员工分组并平均得分。

代码语言:javascript
复制
SELECT Table1.Employee, AVG(Table1.Score) AS AvgScore
FROM Table1
WHERE ID NOT IN
(
    SELECT TOP 10 ID
    FROM Table1 a
    WHERE a.Employee = Table1.Employee
    ORDER BY Score ASC, Employee, ID
)
AND ID NOT IN
(
    SELECT TOP 10 ID
    FROM Table1 b
    WHERE b.Employee = Table1.Employee
    ORDER BY Score DESC, Employee, ID
)
GROUP BY Table1.Employee;
票数 0
EN

Stack Overflow用户

发布于 2018-04-10 18:30:48

您实际上并没有在伪代码中给出有关数据字段的信息,但是使用包含基本字段信息的示例,我可以建议如下所述的那样工作

它假定field1是您唯一的记录ID,但是您没有提到哪些字段是键。

代码语言:javascript
复制
SELECT AVG(qry_data.field2) FROM qry_data WHERE qry_data.field1 NOT IN
(SELECT * FROM 
   (SELECT TOP 10 PERCENT qry_data.field1, qry_data.field2
   FROM qry_data
   ORDER BY qry_data.field2 ASC)
   UNION
   (SELECT TOP 10 PERCENT qry_data.field1, qry_data.field2
   FROM qry_data
   ORDER BY qry_data.field2 DESC)
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49517776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档