在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