2014-08-28 128 views
0

如何將我的行號用作where子句的一部分?MYSQL在where子句中使用行號

我有,讓說,25個數據,我只希望得到前10行或者從11行至20

如何使用行號?我不能低於

SET @row_number:=0; 
SELECT @row_number:[email protected]_number+1 AS row_number, col1, col2, col3 
FROM table 
WHERE row_number > 1 and row_number < 10; 

更新執行這個查詢:的問題是,在我的where子句ROW_NUMBER未知表 更新2:謝謝你們!無論如何,我找到了這個。 Select where row number = rownum

+0

你需要'limit'。 – 2014-08-28 12:54:24

+0

它說未知的列row_number ..這是爲什麼? D: – Audix 2014-08-28 12:59:30

+0

因爲它不是專欄!? – 2014-08-28 13:02:27

回答

2

您需要使用OFFSETLIMIT

Check this article

所以讓行11到20,你會做

SELECT col1, col2, col3 
FROM table 
LIMIT 10 OFFSET 10; 
+0

問題是「Where column中的未知列row_number」 – Audix 2014-08-28 12:59:03

+0

對不起,我剛剛複製並粘貼你的代碼並沒有意識到所有試圖實現'LIMIT'和'OFFSET'的事情。檢查我的編輯 – Charleshaa 2014-08-28 13:01:29

+0

哦,上帝謝謝!我的代碼有點複雜,我正在嘗試這一個stackoverflow.com/questions/12821709/select-where-row-number-rownum:D – Audix 2014-08-28 13:07:41