SET @row := 0;
SELECT * FROM (
SELECT @row := @row+1 AS rank, account_id, keyword, bid_amount ,timestamp
FROM bids WHERE keyword='programmers'
ORDER BY bid_amount DESC, timestamp ASC
) AS derived_table;
我在某个地方看到了这个,我想知道这个集合与@符号以及:=
一起做了什么感谢
答案 0 :(得分:6)
它正在创建一个行号列。
@row
是一个整数变量。 :=
为每一行设置变量,将前一行的值设为@row
。所以,你得到一个很好的增量列,告诉你你在哪一行。