2013-10-08 77 views
1

我有這樣的用戶表,以下兩個字段是固定的。 userId是主鍵。在mysql中顯示行號

userId name 
898  abc 
900  xyz 
902  rrr 
904  wer 

如果我取特定userid然後導致應顯示爲行數。例如 userid902然後結果應該顯示3

如何編寫SQL查詢?

+0

它是PHP的操作? –

+0

普通Mysql查詢 –

+0

在下面加了我的回答 –

回答

0

試試這個

set @row_num = 0; 
SELECT user_id,name, @row_num := @row_num + 1 as index FROM tablename 
ORDER BY user_id desc; 
+0

不能加入沒有更多的領域。以上userId和名稱是固定的 –

+0

@ahamedsakir我對答案做了一些修改。嘗試這個。這可能有助於你 –

1

試試這個

SET @a:=0; 

    SELECT @a:[email protected]+1 serial_number, 
      userId, name 
    FROM users; 

這裏是SQL Fiddle

NB-雖然你應該自動增量加PK表不只是爲了得到該序列號,但添加索引到您的表來更快地獲取記錄

+0

它總是返回1. SELECT @a:= @ A + 1 SERIAL_NUMBER, 用戶id,名 來自用戶的, (SELECT @a:= 0)作爲一個其中userid = 902;它應該返回3 –

+0

這是不應該返回serial_number,而比較一個特定的ID ..... –

+0

,因爲我們只是將serial_number添加到查詢的輸出...你想要的將需要一個額外的列在數據庫你不想要的東西 –