我有一個數據庫,如下圖所示從SQL數據庫AVG函數選擇
ID,姓名,VAR1
,我想寫一個sql查詢是這樣的:
select name
from table
where last var1 > avg of var1 s of each name
注意我想選擇最後var1大於每個名稱的var1s的平均值的名稱
我寫這個代碼:
select name
from table
where var1>(select avg(var1) from table) limit 0 , 1
但這段代碼從所有var1中獲取avrage,我不知道這是否有效!
例如我們有這些數據:
1 , John , 32
2 , John , 21
3 , Mike , 22
4 , John , 11
5 , Mike , 5
6 , Mike , 45
=>爲約翰,我們有:32 + 21 + 11/3 = 21.3,但最後的數據是11,所以約翰不應該被選擇 = >對於邁克,var1的平均值是24,邁克的最後一行是45,這大於平均值,所以應該選擇邁克。
任何人都可以幫助我嗎?
您正在使用哪些DBMS? Postgres的?甲骨文? –
我正在使用Mysql數據庫 –
我已根據您最近的修改修改了我的解決方案,請檢查並讓我知道它是否有效 –