【发布时间】:2015-09-09 22:24:02
【问题描述】:
我想知道是否有可能在 MySQL 中以一种简单有效的方式做到这一点。我想在我的例子中做的是:
我有一个表,我将带有 FK 的博客文本存储到其他博客信息(标题、用户等)。博客文本可以存储在多行中(如果它是很长的文本)。如果有多行,每一行都有一个序列号来知道文本的顺序。
我有什么简单的方法可以通过一个查询从最高 FK 编号 (postid) 开始选择行(这也是最新添加的),并将响应限制设置为 10 个不同的 FK 值。需要明确的是,我不想将行数的限制设置为 10,只设置不同 postid 值的限制。
例如,如果我有下表:
+----------+--------+-----------+
| sequence | postid | text |
+----------+--------+-----------+
| 1 | 50 | 'Bla bla' |
| 1 | 51 | 'Bla bla' |
| 1 | 52 | 'Bla bla' | (1) <-- From here (52 to 61 is 10 different postids)
| 2 | 52 | 'Bla bla' | (2)
| 1 | 53 | 'Bla bla' | (3)
| 2 | 53 | 'Bla bla' | (4)
| 1 | 54 | 'Bla bla' | (5)
| 1 | 54 | 'Bla bla' | (6)
| 1 | 56 | 'Bla bla' | (7)
| 1 | 57 | 'Bla bla' | (8)
| 1 | 58 | 'Bla bla' | (9)
| 1 | 59 | 'Bla bla' | (10)
| 1 | 60 | 'Bla bla' | (11)
| 1 | 61 | 'Bla bla' | (12) <-- To here
+----------+--------+-----------+
这里我想要底部的 12 行,因为它们的 postid 从 61 到 52,包括 52,即 10。括号中的数字只是为了说明我想选择多少行。
我希望这不会太令人困惑 :) 那么有没有简单有效的方法来做到这一点?
【问题讨论】: