MySql选择具有开始和条件的特定行数
我想从特定的起始点选择MySql中的特定行数,并附带条件。起始点应该是一个变量。 我的问题是我不知道从哪里开始 简言之: 在“status”等于1的前5行之后开始,然后给我接下来的5行,其中“status”等于1 示例数据:MySql选择具有开始和条件的特定行数,mysql,select,range,conditional-statements,Mysql,Select,Range,Conditional Statements,我想从特定的起始点选择MySql中的特定行数,并附带条件。起始点应该是一个变量。 我的问题是我不知道从哪里开始 简言之: 在“status”等于1的前5行之后开始,然后给我接下来的5行,其中“status”等于1 示例数据: ----------------------- | id | title | status | ----------------------- | 1 | Test | 1 | | 2 | Test | 0 | | 3 | Test |
-----------------------
| id | title | status |
-----------------------
| 1 | Test | 1 |
| 2 | Test | 0 |
| 3 | Test | 1 |
| 4 | Test | 0 |
| 5 | Test | 1 |
| 6 | Test | 1 |
| 7 | Test | 0 |
| 8 | Test | 1 |
| 9 | Test | 1 |
| 10 | Test | 1 |
| 11 | Test | 1 |
| 12 | Test | 1 |
| 13 | Test | 0 |
| 14 | Test | 1 |
| 15 | Test | 0 |
第一例
我想要五行,状态等于1,从开头开始。
(起始变量为0)
预期数据:
-----------------------
| id | title | status |
-----------------------
| 1 | Test | 1 |
| 3 | Test | 1 |
| 5 | Test | 1 |
| 6 | Test | 1 |
| 8 | Test | 1 |
-----------------------
| id | title | status |
-----------------------
| 9 | Test | 1 |
| 10 | Test | 1 |
| 11 | Test | 1 |
| 12 | Test | 1 |
| 14 | Test | 1 |
第二种情况
现在我需要接下来的5行,其中status等于1。
(起始变量为5)
预期数据:
-----------------------
| id | title | status |
-----------------------
| 1 | Test | 1 |
| 3 | Test | 1 |
| 5 | Test | 1 |
| 6 | Test | 1 |
| 8 | Test | 1 |
-----------------------
| id | title | status |
-----------------------
| 9 | Test | 1 |
| 10 | Test | 1 |
| 11 | Test | 1 |
| 12 | Test | 1 |
| 14 | Test | 1 |
如何实现这一点?使用限制条款。第一个参数是完整结果集中的索引,您希望从中开始接收结果。第二个参数是所需的结果数。因此,要获得前5个结果:
SELECT * FROM my_table WHERE status = 1 ORDER BY id LIMIT 0,5
要获得下一个5:
SELECT * FROM my_table WHERE status = 1 ORDER BY id LIMIT 5,5
等等。另请参见此处:请添加示例数据和预期输出能否请您重新措辞,我不想从20开始。行,我需要从20开始。状态等于1的行的问题是我现在不知道具体的行,从哪里开始。当我将数字20设为start时,我想在20行之后开始,其中“status”等于1。相反,如果第20行。