永发信息网

SQL语句优化-关于分组求平均值

答案:2  悬赏:40  手机版
解决时间 2021-03-26 06:10
  • 提问者网友:锁深秋
  • 2021-03-25 16:21
SQL语句优化-关于分组求平均值
最佳答案
  • 五星知识达人网友:醉吻情书
  • 2021-03-25 17:50
试试我写的这个呢:

select 帐户号,avg(月消费) as 月均消费
from (select 帐户号,月,sum(钱) as 月消费
from 账单 group by 帐户号,月) as 月汇总表
where 帐户号=1111
group by 帐户号

思路就是:先查出一个月汇总表,再从此数据集中用Avg()函数,当然不用Avg()函数的话换成 “sum(月消费)/count(月) as 月均消费” 也行。

要注意:AVG、COUNT、MAX 和 MIN 忽略空值,而 COUNT(*) 不忽略。

GoodLuck!
全部回答
  • 1楼网友:枭雄戏美人
  • 2021-03-25 19:15
--> 生成测试数据表:这种就是计算有消费日期的月的月平均消费一种算法
IF OBJECT_ID('[账单]') IS NOT NULL
DROp TABLE [账单]
CREATE TABLE 账单
( 帐户号 char(10),消费日期 DATETIME,
钱 FLOAT,
)
INSERT INTO 账单
SELECT 'select A.帐户号, datepart(m, 消费日期), sum(钱) from 账单 A group by A.帐户号, datepart(m, 消费日期)
如果要以月份显示在前面,只需要将group by中的两个条件颠倒一下即可
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯