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)