為什么第二種查詢的時候總是顯示空表,求各路大神指點


uj5u.com熱心網友回復:
你都group by 了,后面算的平均工資還是工資,自然不會有大于的uj5u.com熱心網友回復:
mysql的垃圾寫法害死人,一點都不規范這么說吧,having只能用group by 之后的資料。
而mysql 不需要在select 寫group by 列,其他非group by 列也不需要些聚合函式。這樣居然不報錯,到高版本sql_mode嚴格了就比較好了。
核心問題分析:
因為每個職工號都是唯一的,然后工資和 avg(工資)是同一個值,所以 having條件不成立;
測驗如下:
create table warehouse(`倉庫號` varchar(100),`職工號` varchar(100),`工資` int);
insert into warehouse values('WH2','E1',1220);
insert into warehouse values('WH1','E3',1210);
insert into warehouse values('WH2','E4',1250);
insert into warehouse values('WH3','E6',1230);
insert into warehouse values('WH1','E7',1250);
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/172879.html
標籤:疑難問題
下一篇:求一個sql陳述句
