类似于做一个年度统计,以考勤时间为例,A本年考勤总时长为100小时,超过了部门80%的同事,超过了公司70%的同事(或者,超过了公司2333名同事),这个百分比或者排名怎么计算
分别计算小于100小时到部门、到公司的人数,计算百分比
SQL.txt
如果数据源是每个人的工时合计的话:A本年工作时长=where name=1
超过百分之几的人:count(where 工时 <100)/count(所有人)*100%
子查询1,表b代表部门表,查询超过部门的人数:select count(*) from 表b where 时长<(select 时长 from 表b where name=A)
子查询2,表c代表公司表,查询超过公司的人数:select count(*) from 表c where 时长<(select 时长 from 表c where name=A)
个数都有了,然后查询部门和公司的总数,相除就可以得出百分比,排名也可以算了
排名order by不就行