为什么我必须将值分配给会话变量,才能在像这样的查询中获得正确的数值:
在第二种形式中,它返回的是最后一行的行号,我猜可能是
SELECT @row_number := @row_number + 1, name FROM cities;
不要像这样:
SELECT @row_number, name FROM cities;
在第二种形式中,它返回的是最后一行的行号,我猜可能是
COUNT(*)
的值。这个值似乎已经被封闭了起来。这两个查询到底发生了什么?
@row_number
是会话变量。 - Barmar