码迷,mamicode.com
首页 > 数据库 > 详细

MySQL使用用户变量更新分组排序

时间:2016-12-08 20:47:06      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:target   continue   case   update   span   man   targe   log   com   

第一个需求是根据A字段进行排序,排序结果更新到B字段

简单搜索之后,很快得到答案

http://dev.mysql.com/doc/refman/5.7/en/update.html 

SET @a=0;
UPDATE tableName SET a = ( SELECT @a := @a +1 )  ORDER BY b ASC

 

第二个需求是根据A字段分组,对B字段排序,排序结果更新到C字段

SET @C = 0;SET @A = 0;
UPDATE tableName
SET C = 
(
SELECT 
CASE WHEN @A = A
THEN @C := @C + 1
ELSE
     (@C := @C + 1 AND @A := A)
ENDORDER BY A,B

 

结果是正确了,但是不太明白为什么……

To be continue

MySQL使用用户变量更新分组排序

标签:target   continue   case   update   span   man   targe   log   com   

原文地址:http://www.cnblogs.com/dreamycloud/p/6146235.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!