在MySQL使用用户变量实现rowNum效果

时间:2021-05-10 09:39:25
在MySQL使用用户变量实现rowNum效果
以下给出了两种方式,最终结果是一样的,两种结果的返回结果相差一个字段。
第一种:
SELECT
 @rownum :=@rownum + 1 rownum,
 t.*
FROM
 (SELECT @rownum:=0) temp,
 (
  SELECT
   CUSTOMER.*
  FROM
   CUSTOMER
  LIMIT 10
 )t;
执行结果:
rownum ID(ID是CUSTOMER表中的字段,其它字段略)
1    11
2    52
3    83
   
第二种:
SELECT
 @rownum :=@rownum + 1 rownum,
 t.*
FROM
 (
  SELECT
   @rownum := 0,
   CUSTOMER.*
  FROM
   CUSTOMER
  
  LIMIT 10
 )t;
执行结果(注意多了@rownum := 0):
rownum @rownum := 0  ID(ID是CUSTOMER表中的字段,其它字段略)
1    0       11
2    0       52
3    0       83