2015-01-13 44 views
0

所以我有一個說10行的列表。每一個都有一個關鍵和價值。mysql在結果集中的顯示位置

是否有mysql的一種方式,我可以得到一個給定ResultSet一排位置:

SELECT 'resultSetPosition' FROM table WHERE rowKey=x ORDER BY rowValue 

id  value 
1  a 
2  b 
3  c 

o/p required 

if id 3 the i need to get position of that row is 3 

編輯:我只想得到一個排出來在我的結果集,但「位置」應與其位置相關,例如,如果您按id排序。

(顯然,這整個事情是容易的,如果我只是拉了整個結果和搜索數組中的我的編程,但我想看看它是否能在MySQL單獨完成。)

+0

你可以做更具體的你的問題/ –

+0

可能的重複[與MySQL,我怎樣才能生成包含記錄索引在表中?](http://stackoverflow.com/questions/3126972/with-mysql -how-can-i-generate-a-column-containing-the-record-index-in-a-table) – Buggabill

+0

試試看看與你的問題類似的答案:http://stackoverflow.com/a/ 1418400分之4474389 – sfj

回答

1

你可以試試這個: -

SELECT *, @rownum := @rownum + 1 AS ROW_NUMBER 
FROM TABLE 
JOIN (SELECT @rownum := 0) R; 

這可能對你有幫助。

0

與這個希望嘗試這將清除您的問題

select count(*) as pos from table_name where id<=current_id 
0

試試這個:

SET @rank=0; 
SELECT @rank:[email protected]+1 AS resultSetPosition 
FROM tableName 
WHERE rowKey=x 
ORDER BY rowValue 

而且看一看this link