久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

Mysql update 分組遞增 sql咨詢

瀏覽:113日期:2022-06-14 11:40:57

問題描述

idlevelsort_num110210320420520630730830930

要求得到

idlevelsort_num111212321422523631732833934

即頁面的展示順序如下

level1

1

2

level2

1

2

3

level3

1

2

3

4

目前的sql

set @index:=0; update t set sort_num = (@index:=@index+1) where level = 1 order by id;set @index:=0; update t set sort_num = (@index:=@index+1) where level = 2 order by id;set @index:=0; update t set sort_num = (@index:=@index+1) where level = 3 order by id;

不知有沒更簡潔的sql可以實現上述的需求?

補充

在線sql

問題解答

回答1:

如果只是為了頁面展示,不需要更新表的數據吧。可以試試下面的sql

select level, @sort_num:=if(@prev_level=t1.level, @sort_num+1, 1)from (select * from t order by id) t1, (SELECT @sort_num:=1, @prev_level:=NULL) varorder by id

相關文章:
主站蜘蛛池模板: 三江| 石棉县| 理塘县| 南投县| 宁国市| 新宾| 和平县| 定安县| 聂荣县| 景德镇市| 张北县| 无极县| 绍兴县| 会昌县| 大同县| 东莞市| 黎城县| 宝丰县| 阜南县| 青冈县| 广灵县| 陕西省| 大渡口区| 闸北区| 太仓市| 五家渠市| 抚顺县| 阿拉善右旗| 盐津县| 长泰县| 丰县| 昌宁县| 高台县| 南宁市| 海门市| 贵南县| 嘉兴市| 浦县| 宿迁市| 松潘县| 平凉市|