27,579
社区成员
发帖
与我相关
我的任务
分享
select * from (
select a.departname,Avgsalary = sum(b.salary) over (partition by a.departname) / count(1) over (partition by a.departname)
from employee a,salary b
where a.employeeId=b.employeeId )
T
select a.departname,Avgsalary = sum(b.salary) over (partition by a.departname) / count(1) over (partition by a.departname)
from employee a,salary b
where a.employeeId=b.employeeId
select a.departName,avg(b.salary) from employee a,salary b where a.employeeId = b.employeeId group by a.departName
SQL codeSELECT E.DEPARTMENT,avg(isnull(S.SALARY,0)) AS avgSALARY
FROM SALARY S, EMPLOYEE E
WHERE S.employeeId = E.employeeId
GROUP BY E.DEPARTMENT
SELECT E.DEPARTMENT,SUM(S.SALARY) AS ALLSALARY
FROM SALARY S, EMPLOYEE E
WHERE S.employeeId = E.employeeId
GROUP BY E.DEPARTMENT
DECLARE @ta TABLE(id int,col varchar(10))
INSERT @ta VALUES(1,'a');
INSERT @ta VALUES(2,'b');
INSERT @ta VALUES(3,'c');
DECLARE @tb TABLE(id int,num int)
INSERT @tb VALUES(1,10);
INSERT @tb VALUES(2,20);
select avg(b.num) from @ta a left join @tb b on a.id=b.id
/*
-----------
15
警告: 聚合或其他 SET 操作消除了 Null 值。
(1 行受影响)
*/
select avg(isnull(b.num,0)) from @ta a left join @tb b on a.id=b.id
/*
-----------
10
(1 行受影响)
*/
select a.departName,avg(b.salary) from employee a,salary b where a.employeeId=b.employeeId
group by a.departName
order by a.departName
select a.departName,avg(isnull(b.salary,0)) 平均工资
from employee a
left join salary b
on a.employeeId=b.employeeId
group by a.departName
--按部门分组,AVG函数求平均值,没什么好解释的.
MODIFYselect a.departName,a.name,avg(isnull(b.salary,0)) 平均工资
from employee a
left join salary b
on a.employeeId=b.employeeId
group by a.departName,a.name
select a.departName,avg(b.salary) from employee a left join salary b on a.employeeId = b.employeeId group by a.departName