sql语句如何在同一结果集显示某一列的值和其平均值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql语句如何在同一结果集显示某一列的值和其平均值相关的知识,希望对你有一定的参考价值。

例如:如何在同一结果集显示员工的工资、姓名、平均工资、最高工资(工资、姓名在同一个表中)

CREATE TABLE #test (
姓名 varchar(10),
工资 INT
);

INSERT INTO #test
SELECT '张三', 3000 UNION ALL
SELECT '李四', 4000 UNION ALL
SELECT '王五', 5000 UNION ALL
SELECT '赵六', 6000;
GO

SELECT
姓名,
工资,
平均工资,
最高工资
FROM
#test,
(SELECT
AVG(工资) AS 平均工资,
MAX(工资) AS 最高工资
FROM #test
) t;
GO

姓名 工资 平均工资 最高工资
---------- ----------- ----------- -----------
张三 3000 4500 6000
李四 4000 4500 6000
王五 5000 4500 6000
赵六 6000 4500 6000

(4 行受影响)
参考技术A select t1.姓名,t1.工资,ts.平均工资,ts.最高工资
from 表 t1
left join (姓名,select avg(工资) 平均工资,max(工资)最高工资 from 表 group by 姓名)ts
on t1.姓名 = ts.姓名
参考技术B select avg(工资) as 平均工资,max(工资) as 最高工资 from 表追问

我还想同时查询员工工资和员工姓名,拜托了

以上是关于sql语句如何在同一结果集显示某一列的值和其平均值的主要内容,如果未能解决你的问题,请参考以下文章

sql查询 ,多行数据合并成一行,并且显示合并后某一列的值拼接结果

sql选择某一列的最大值与最小值并在同一列中显示

SQL数据库中 如何让某一列的值自动累加1?

如何使用sql语句使一个列的值变成另一个字段的值

SQL中如何统计查询结果中某一列重复值的个数?

update set语句