mysql查询数据时自动生成序号

博客介绍了两种SQL写法。写法一是在外部声明变量,每行数据为其自增;写法二实现效果与写法一相同,但SQL有差异,调用时需在from后对变量归零重置,否则可能出现累计效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写法一

SET @rownum = 0;
SELECT @rownum := @rownum +1 AS rownum ,v.id ,v.create_time FROM vehiclegas v ORDER BY v.create_time DESC ;

方法1的写法就是声明了一个变量在外部,然后每行数据都为它自增。
写法二 (已采用)

SELECT (@i:=@i+1) AS rownum , v.id , v.create_time
    FROM 
        vehiclegas v,
        (SELECT @i := 0) AS i
    ORDER BY
        v.create_time DESC

写法二的和写法一实现的效果是一样的,只是sql有一点区别,其次在调用过程需要注意一个事项,就是在from 后面需要为变量归零重置((SELECT @i := 0) AS it),否则可能会出现累计效果。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值