sql大于平均值
① sql平均值
表的别名 这样在你select 的时候就可以直接x.列名 更方便。
子查询里面的y 和x 是一个道理。
就是 from 库存情况 ,x 这个逗号是没有的,楼主应该是粗心没看到.
② sql查大于平均值的列
select *
from sales a
where a.sales>(
select avg(sales) from sales b where b.name=a.name group by name
)
③ SQL语句:查询大于所求平均值的分组数据,有经验的进!
对于表1可以使用结果合并
select count(*) as 语文人数 from [表1] where 语文 > avg(语文) union select 数学人数= count(*)from [表1] where 数学>avg(数学) select count(*) as 物理人数 from 表1 where 物理>avg(物理)
对于表2,由于求平均分涉及了一个分组,这样在使用中至少出现SQL语句的两层嵌套,所以建议你使用存储过程!
④ 一条SQL求大于某字段平均值的条件。
SELECT
table1.*
FROM
table1,
(
SELECT
部门,
AVG(工资) AS 部门平均工资
FROM
table1
GROUP BY
部门
) 子查询
WHERE
table1.部门 = 子查询.部门
AND table1.工资 > 子查询.部门平均工资
⑤ 【急求】用sql语句求成绩表中各个科目大于平均值的人数
你这样肯定是不行的。
where 中不能用聚合函数嵌套的。
不想用存储过程只有
select COUNT(1),名字 FROM 表1 where 语文> (select AVG(语文) FROM 表1) group by 名字
union
select COUNT(1),名字 FROM 表1 where 数学> (select AVG(数学) FROM 表1) group by 名字
Union
select COUNT(1),名字 FROM 表1 where 屋里> (select AVG(物理) FROM 表1) group by 名字
第二个表2:
select COUNT(1), a.名字, a.课程from 表2 a
inner join
(select AVG(分数) as g , b.课程from 表2 group by b.课程) b
on a.课程= b.课程
where a.分数> g
group by a.名字, a.课程
就可以看出你要的结果
⑥ SQL 查询出一列记录的最大值 大于平均值
SELECT MAX(SALE) FROM TABLE WHERE SALE>(SELECT AVG(SALE) FROM TABLE)