首页 > 数据库技术 > 详细

mysql 查排名

时间:2015-03-04 18:20:54      阅读:322      评论:0      收藏:0      [点我收藏+]


  SET @amount=0;
  SET @rank=1;
  SET @shunxu=0;
 SELECT tmp2.id AS id,tmp2.name AS NAME,tmp2.amount AS amount,tmp2.rank  AS rank
 FROM (
 SELECT tmp.id AS id,tmp.name AS NAME,tmp.amount AS amount,@shunxu:=@shunxu+1,IF(amount=@amount,@rank,@rank:=@shunxu) AS rank,@amount:=amount
 FROM(
 SELECT  `ti`.`user_id` AS `id`, 
 (SELECT  `tu`.`name`  FROM `t_users` `tu`  WHERE (`tu`.`id` = `ti`.`user_id`)) AS `name`, 
 SUM(`ti`.`amount`) AS `amount` FROM `t_invests` `ti`
 GROUP BY `ti`.`user_id`
 ORDER BY SUM(`ti`.`amount`)DESC) tmp)tmp2

mysql 查排名

原文:http://www.cnblogs.com/siashan/p/4313766.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!