标题:SQL平均值
只看楼主
mywisdom88
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:0 
以下是引用my2318在2022-7-11 18:07:57的发言:

Select distinct count(姓名)as 人数 from 表
Select sum(合计)as 总工资  from 表
?总工资/人数

你这个是VFP格式的,但就算是VFP也是错误的。
Select count(distinct 姓名)as 人数 from 表 into cursor t1 && 这样,才会去掉重复的姓名
Select sum(合计)as 总工资  from 表 into cursor t2
?t2.总工资/t1.人数

[此贴子已经被作者于2022-7-12 10:03编辑过]

2022-07-12 08:38
mywisdom88
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:15 
-- 方法1,由于合计不对,要重新算合计
SELECT 姓名,SUM(数量) as 数量,SUM(单价*数量) as  合计,
  (SELECT SUM(单价*数量) / COUNT(DISTINCT 姓名)  FROM 你表) 平均
FROM 你表 GROUP BY 姓名


-- 方法2,由于合计不对,要重新算合计 用AVG()
SELECT 姓名,SUM(数量) as 数量,SUM(单价*数量) as  合计,
  (SELECT AVG(t1.合计) as 平均 FROM (SELECT SUM(单价*数量) as 合计 FROM 你表 GROUP BY 姓名)t1) 平均
FROM 你表 GROUP BY 姓名

[此贴子已经被作者于2022-7-12 10:16编辑过]

2022-07-12 10:14
dunnys
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2022-2-13
得分:0 
回复 12楼 mywisdom88
非常感谢你的技术支持,现在按照你的语法已经可以满足需求。

谢谢!
2022-07-14 16:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-509530-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.053792 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved