值得纪念的mysql 语句 查询某人本月的总业绩 在全公司的名次

来源:互联网 发布:淘宝直通车 转化率多少 编辑:程序博客网 时间:2024/04/28 21:55
现有业绩表 如下:
yib_id              主键id
yib_yyry_id         员工id
yib_yji             业绩
yjb_createtime      创建时间

求当月内某员工总业绩在所有员工中的名次 !求mysql 的语句 写法

sql 语句:

select t.*,@rownum:=@rownum+1 AS rownum from (SELECT yjb_yyry_id,yyryusername ,sum(yjb_yji) as total
FROM yjb where  month(createtime) =month(now()) and year(createtime)=year(now())
group by yjb_yyry_id order by total desc) t,(SELECT @rownum:=0) r


执行结果:

yjb_yyry_id       total         rownum

1001                  900             1

1002                   800            2

1003                  700             3

.....


现贴出完整代码:

Dao:

/**
* 业绩表
* @param yyryid 运营人员id
* @return 业绩
*/
public List<Object> getYji();

DaoImpl:

/**
* 获得业绩记录
*/
@SuppressWarnings("unchecked")
public List<Object> getYji() {
String sql = "select sum(yjb_yji) ,yyryusername ,yjb_yyry_id  from yjb  where  month(createtime) =month(now()) and year(createtime)=year(now()) group by yyryusername order by sum(yjb_yji) desc; ";
return (List<Object>)getSession().createSQLQuery(sql).list();
}


js:

//业绩展示
function yejis(){
alert(1);
$.post("yyryActions!getMoney.action",null,function(data){
$chapin = $("#aax"); //冠军业绩div
$myjis = $("#myyeji");//登录者业绩div
$mingci =$("#mingci");//登录者名次li

var $ss = $("#yyryids").val();//登录者id ,页面隐藏域获得
var $yeji ; //登录者业绩
var $mingci ; //登录者名次
var $maxyeji=data[0][0];  //冠军业绩   
var $maxname=data[0][1];//冠军名字
$.each(data,function(i,moneyss){
$.each(moneyss,function(i,a){
if(a==$ss){  //循环判断执行结果,如果有个值得id 和用户id 相同,那就是当前登录者的信息
$yeji=moneyss[0]; 
$mingci = moneyss[3];
}
})
if($yeji==undefined){
$chapin.html("当月冠军 "+$maxname+"<span class='fsize18 fweight' >"+$maxyeji+"</span>元");
}
else{
$chapin.html("当月冠军 "+$maxname+"<span class='fsize18 fweight' >"+$maxyeji+"</span>元");
$myjis.html("我的业绩<span>"+$yeji+"</span>");
$mingci.html("<p><span>"+$mingci+"</span>名</p><p>我的公司排名</p>");
}
});
});

}



0 0
原创粉丝点击