是否可以合并到 SQL 中的 SELECT 中?
假设我想从名为 messages
的表中检索 100 条记录,并且希望通过以下方式获取它们:
1st message
100th message
2nd message
99th message
3rd message
98th message
(...)
有什么方法可以高效地执行此操作吗?合适的查询是什么? 或者我应该进行一个查询来选择前 50 个,一个查询来选择最后 50 个,然后合并结果?
Let's say I want to retrieve 100 records from a table called messages
, and I want to obtain them the following way:
1st message
100th message
2nd message
99th message
3rd message
98th message
(...)
Is there any way to do this efficiently? What would be the appropriate query?
Or should I make a query to select the first 50, a query to select the last 50 and then merge the results?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
尝试一下您的 ID 是否是数字序列:
首先
然后
Try if your ID is a sequence of numbers:
First
Then
重点是创建两个虚拟列“serie_order”(变体)和“serie”(常量),您将在数据的两个部分上使用(您必须将数据分成两部分)。
The point is to create two virtual columns "serie_order" (variant) and "serie" (constant) you'll use on both parts of your data (you'll have to split your data in two).