0
可能重複:
Need a sequence number for every row in MySQL query極品行的序列號查詢
所以我發現了這個偉大的使用:
SELECT (@row:[email protected]+1) AS ROW, ID
FROM TableA ,(SELECT @row := 0) r
ORDER BY ID DESC
我的表看起來更像是這樣的:
SELECT (@row:[email protected]+1) AS ROW, ID , ColA, ColB, ColC
FROM TableA
JOIN TableB on TableB.ID = TableA.ID
JOIN TableC on TableC.ID = TableA.ID
,(SELECT @row := 0) r
ORDER BY ID DESC
@row:= @ row + 1效果很好,但我得到了由ID排序的行。
,所以我得到更多的東西是這樣的:
ROW | ID
3 15
2 10
1 2
我什麼後:
ROW | ID
1 15
2 10
3 2
注:我注意到,if I remove the JOINs I DO get the requested result
(其中ROW
是每行的序列號,不管是ID的ORDER BY)
它基本上似乎是行號在ORDER BY發生之前被評估。在給出行之後,我需要ORDER BY。
有關我如何實現這一點的任何想法,以及JOINS如何解決它?
Thx!