| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1712 人关注过本帖
标题:SQL平均值
只看楼主 加入收藏
mywisdom88
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:191
帖 子:3146
专家分:8408
注 册: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
等 级:版主
威 望:191
帖 子:3146
专家分:8408
注 册: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
快速回复:SQL平均值
数据加载中...
 
   



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

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