是否可以在MySQL中獲取行號?說我有一個'表'mySQL中的行號
ID tag name
1 A alpha
4 B beta
5 C gamma
8 D ceta
我怎麼能在MySQL中,例如,'C'是該表中的第三行?如下:
SET @pos=0;
SELECT @pos:[email protected]+1,tag FROM table ORDER BY tag ASC;
按照它應該計數的行數。但(對不起,不好意思)
SET @pos=0;
SELECT @pos:[email protected]+1,tag FROM table where tag='C' ORDER BY tag ASC;
給出1行,結果爲pos,因爲它可能應該。
有沒有辦法讓'pos'爲'3',因爲我需要它? (訂貨會同樣重要,無論是相關的問題或不..)
[如何知道MySql中特定行的行號?](http://stackoverflow.com/q/10765746/1037210)。一個未答覆的問題,但它包含一個SQL查詢來獲取特定行的行號。 – Lion 2013-05-05 18:44:30
表沒有行號,因爲它們實際上沒有排序。當然,在現實世界中,行按照某種順序放置在硬盤上,但它不應該是任何意義。如果您需要訂購號碼,則需要將其列入專欄,或根據您的ORDER BY條款的具體情況。 – siride 2013-05-05 18:55:21
我可能只是誤解了這個問題,但將LIMIT 1 OFFSET 3添加到現有SELECT中會出現什麼問題? 順便說一下,在這種情況下,「行號」是ORDER BY子句的工件。您似乎要求從查詢結果開始的一個項目偏移三位(或者可能是兩位,我不確定)。 – 2013-05-05 18:55:47