mysql 排序后, 如何加上序列号?

mysql 排序后, 如何加上序列号?,第1张

mysql>

select

*

from

a

+-----+

|

col

|

+-----+

|

0

|

|

1

|

|

2

|

|

3

|

|

4

|

|

5

|

|

6

|

|

7

|

+-----+

8

rows

in

set

(0.00

sec)

mysql>

set

@i

:=

0

select

@i

:=

@i

+

1

as

`order`,

a.*

from

a

order

by

col

desc

+-------+-----+

|

order

|

col

|

+-------+-----+

|

1

|

7

|

|

2

|

6

|

|

3

|

5

|

|

4

|

4

|

|

5

|

3

|

|

6

|

2

|

|

7

|

1

|

|

8

|

0

|

+-------+-----+

8

rows

in

set

(0.00

sec)

mysql>

比如说你创建了一个表userinfos

create table userinfos(

userid int primary key,

username varchar(20)

)

//给userinfos添加序列

update userinfos set userid = last_insert_id(userid+1)

//然后查询序列

select last_insert_id()

或者也可以这样

create table userinfos(

userid int primary key not null auto_increment,

username varchar(20)

)

select a.*,

(select count(*) from tbl where col<=a.col) as rownum

from tbl a

mysql 没有oracle里面的rownum函数,用这个sql可以模拟下,但是如果数据量大的话,可能执行很慢。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/8676744.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存