

中位数,奇数有1个,偶数有俩
正序倒序排序后,取排名之差=0 or 1的行即可得到中位数
在不用窗口函数的情况下,只能使用临时变量了
SELECT id,T.company company,salary FROM(SELECT E.*,if(@p=e.company,@rank:=@rank+1,@rank:=1) rk,@p:=companyFROM Employee E,(SELECT @rank:=1,@p:=NULL) tmpORDER BY company,salary) TLEFT JOIN(SELECT company,count(id)/2 as mFROM Employee GROUP BY company) TTON T.company = TT.companyWHERE rk-m in (0,0.5,1)
