国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

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

Mysql update 分組遞增 sql咨詢

瀏覽:118日期: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

相關文章:
主站蜘蛛池模板: 五大连池市| 青河县| 武川县| 巴林右旗| 广水市| 娄底市| 晴隆县| 全州县| 博爱县| 万山特区| 东山县| 长泰县| 勃利县| 新乡县| 竹溪县| 托里县| 武陟县| 资溪县| 黄梅县| 临沭县| 武清区| 黄骅市| 宁河县| 永胜县| 南康市| 海晏县| 集贤县| 淳安县| 临清市| 黄浦区| 黑龙江省| 南安市| 射阳县| 罗田县| 吉木萨尔县| 舟山市| 莫力| 阿克| 平度市| 湟源县| 宁强县|