Oracle 10g,选择子句
假设一个有 14 行的员工表,我只想选择中间行,例如 3 到 10 行,那么如何做到呢?
suppose a table employees with 14 rows and i want to select only middle rows like from 3 to 10 then how it can be done?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
首先,您必须定义一个顺序。如果没有顺序,“中间行,如 3 到 10”是没有意义的。当您知道顺序时,您可以使用与 RC 提议的几乎相同的查询:
问候,
抢。
First you'll have to define an ordering. Without an ordering, "middle rows like from 3 to 10" is meaningless. When you know the ordering, you can use almost the same query as RC proposed:
Regards,
Rob.
如果您正在查找行的随机抽样,则可以使用样本子句。然而,它是基于百分比的。
从表样本 (5) 中选择 *;
-- 5%
If you are looking for a random sampling of rows, you can use the sample clause. It is based on percentages, however.
select * from table sample (5);
-- 5 percent
如果您的要求是获取“除了前 3 行和后 3 行之外的所有行”,无论表中有多少行,您可以使用以下方法:
如果您的要求是获取“除了前 20 行之外的所有行” % 和底部 20%”,你可以使用这个:
If your requirement is to get "all rows except for the top 3 and the bottom 3", regardless of the number of rows in the table, you could use this:
If your requirement is to get "all the rows except for the top 20% and the bottom 20%", you could use this: