2014-08-28 63 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