如何选择任意行的相邻行(在 sql 或 postgresql 中)?

2024-02-14

我想根据特定条件选择一些行,然后从该集合中取出一个条目及其前后的 5 行。

现在,如果表上有主键(例如,主键在数值上比目标行的键小 5 且比目标行的键多 5),我可以在数字上执行此操作。

因此选择主键为 7 的行及其附近的行:

select primary_key from table where primary_key > (7-5) order by primary_key limit 11;

2
3
4
5
6
-=7=-
8
9
10
11
12

但是,如果我只选择某些行开始,我就会失去使用主键的数字方法(并且假设键的顺序没有任何间隙),并且需要另一种方法来获取之前和之前最接近的行在某个目标行之后。

这种选择的主键输出可能看起来更随机,因此不太容易进行数学定位(因为某些结果将被过滤掉,例如使用where active=1):

select primary_key from table where primary_key > (34-5) 
    order by primary_key where active=1 limit 11;

30
-=34=-
80
83
100
113
125
126
127
128
129

请注意示例中的 where 条件 (例如,因为有许多不活动的项目),我不再得到上面最接近的 5 和下面最接近的 5,而是得到下面最接近的 1 和上面最接近的 9。


如果您使用一种编程语言运行两个查询,则有很多种方法可以做到这一点,但以下是在一个 SQL 查询中执行此操作的一种方法:

(SELECT * FROM table WHERE id >= 34 AND active = 1 ORDER BY id ASC LIMIT 6)
UNION
(SELECT * FROM table WHERE id < 34 AND active = 1 ORDER BY id DESC LIMIT 5)
ORDER BY id ASC

这将返回上面 5 行、目标行和下面 5 行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何选择任意行的相邻行(在 sql 或 postgresql 中)? 的相关文章

  • 运行时 SQL 查询生成器

    我的问题类似于 Java中有什么好的动态SQL生成器库吗 https stackoverflow com questions 5620985 is there any good dynamic sql builder library in
  • PostgreSQL 索引使用分析

    是否有工具或方法可以分析 Postgres 并确定应创建哪些缺失的索引 以及应删除哪些未使用的索引 我在使用 SQLServer 的 分析器 工具执行此操作方面有一些经验 但我不知道 Postgres 中是否包含类似的工具 我喜欢这样来查找
  • LINQ Group By 投影成非匿名类型?

    我有以下 LINQ 示例 var colorDistribution from product in ctx Products group product by product Color into productColors select
  • 字段名称来自表 1 上的 ID,但来自其他表上的名称

    这是一个 Firebird 数据库 第一张表 联系人 Company ID 职位名称 第二个表 Client id 公司名称 在联系人中 我希望 job title 字段包含 co name client id 和 company id 相
  • Laravel 5.4 上传原始文件名和扩展名

    通过表单提交文件时 如何将原始文件名 file jpg 上传到数据库 控制器 public function addCv Request request cv Cv create request gt all file request gt
  • MYSQL中如何获取不带小数的列值

    我的 mysql 表中有两列A and B我正在获取这样的记录 select A B from table 但问题是上面的查询提供了类似这样的值 12 00 3 4 78 9 但我想得到这样的结果 12 3 78 我将使用哪个 MySQL
  • 为什么 Redshift 不需要物化视图或索引?

    In the 红移常见问题解答 https aws amazon com redshift faqs under 问 与大多数用于数据仓储和分析的传统数据库相比 Amazon Redshift 的性能如何 它说如下 高级压缩 列式数据存储比
  • 如何对 MySQL 数据库中的 ENUM 列进行排序?

    I have colorMySQL 表中的列类型为ENUM RED YELLOW MY COLOR BLACK 还有另一个name列的类型是VARCHAR 30 我想按以下顺序获取所有表行 YELLOW首先行 排序依据name RED最后一
  • 在 postgres 中选择时保留顺序[重复]

    这个问题在这里已经有答案了 在 psql 中 至少在 v9 中 如果我这样做 select id from users where id in 2 1 1 and select id from users where id in 1 2 它
  • 是否可以一次显示 HTML 选择表单字段中的所有选项,而无需单击它?

    我正在使用 X Editable jQuery 就地编辑库作为任务状态选择字段 整个过程的所有阶段如下所示 单击状态 然后 它隐藏状态 SPAN 并显示隐藏的选择字段 您可以单击选择字段 使其下拉并显示所有可用选项 单击新的选择选项值 然后
  • 使用 avg 和 group by 进行 SQL 查询

    我在为 MySQL 编写 SQL 查询时遇到一些问题 我有一个具有以下结构的表 mysql gt select id pass val from data r1 limit 10 id pass val DA02959106 5 00000
  • 搜索并替换字符串 t-SQL

    每个人我都试图编写一个查询来替换末尾出现的所有字符串 我有一些干扰词 确切地说是 104 个 如果它们出现在字符串末尾 则需要将其从字符串中删除 例如 两个干扰词是 Company LLC 以下是一些示例和预期输出 American Com
  • SQL 层次结构 - 解析给定节点的所有祖先的完整路径

    我有一个由邻接列表描述的层次结构 不一定有单个根元素 但我确实有数据来识别层次结构中的叶 终端 项 所以 一个看起来像这样的层次结构 1 2 4 7 3 5 6 8 9 将通过表格来描述 就像这样 NOTE 我没有能力改变这种格式 id p
  • WCF 模拟和 SQL 可信连接?

    我们有一个托管在 IIS7 下的服务 SQL 服务器的连接字符串设置为 受信任 为了进行身份验证 我需要在服务上设置模拟并让客户端启动模拟连接 有没有办法不设置模拟并仍然允许服务通过可信连接登录到 SQL Server 我们希望避免让客户端
  • 通过 SQL 中的查询显示组中的非聚合列

    我在 SQL 2008 中有一个表 ID Items 1 A 1 B 2 C 3 D 3 B 我想得到的结果是 ID Items 1 A B 2 C 3 B D 我使用了游标 但它大大减慢了过程 我可以使用按查询分组或通过任何其他方式实现上
  • 我的本地 postgresql 数据库 url 的形式是什么?

    我正在学习 Flask sqlalchemy 教程https pythonhosted org Flask SQLAlchemy quickstart html a minimal application https pythonhoste
  • 我正在使用 SQL 设计公交车时刻表。每条巴士路线都有多个站点,我是否需要为每条路线准备不同的表?

    我正在尝试提出尽可能最有效的数据库 我的巴士路线大约有 10 个站点 巴士从一号站出发 直到到达第十站 然后再返回 这个循环每天发生3次 我真的很困惑如何有效地生成公交车的时间以及应该在哪里存储站点 如果我将所有停靠点放在一个字段中 将时间
  • grails postgres 消息:错误:列 this_.id 不存在

    grails 和 postgres 用于用户域 Message ERROR column this id does not exist 明白问题了 对于用户域 我将 postgres 表设置为 用户 因此 默认情况下 当它尝试查询用户表时
  • 枚举字段的自定义排序顺序

    是否可以将 JPA 中的字母排序更改为自定义排序 我在列中有这些数据division BRONZE SILVER GOLD DIAMOND 我已将其映射到实体字段 public enum Division BRONZE SILVER GOL
  • Postgis安装:类型“几何”不存在

    我正在尝试使用 Postgis 创建表 我按这个做page http postgis refractions net documentation manual 1 5 ch02 html id2619431 但是当我导入 postgis s

随机推荐

  • 使用 C 编程频谱图 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在尝试用 C 语言制作音频频谱图
  • 向量数学,求角度

    我试图通过编写一个小型 2D 游戏来学习 XNA 它是一个自上而下的视角 我尝试进行双重移动 使用左右和上下键沿轴移动 以及向右看鼠标光标 以便玩家可以同时奔跑和瞄准 我有一个用于玩家位置的向量 m PlayerPos 一个用于鼠标位置的向
  • 如何在 NestJS 中为每个新的 HTTP 请求使用新实例?

    我有一个 API 并且正在尝试发送请求 这是有效的 但我注意到在收到回复后 这些类并没有被销毁 我目前正在使用 NestJS 但是当我尝试测试时 nodeJS ExpressJS 也遇到了这个问题 我正在使用以下代码 Injectable
  • 如何计算两个地点之间的时差

    我在计算两个时区之间的时差时遇到问题 如果我在位置 A 我知道纬度和经度以及当前时间 我去位置B我知道纬度和经度以及当前时间 如何计算当前两个点之间的时间差 以UTC为单位 首先获取一个可以转换纬度 经度以获取国家 地区和州 省的数据库或库
  • 为什么我的 SQL“NOT IN”子句产生与“NOT EXISTS”不同的结果

    当我期望两个 SQL 查询产生相同的结果时 它们会产生不同的结果 我正在尝试查找没有相应位置的事件的数量 所有位置都有事件 但事件也可以链接到非位置记录 以下查询生成计数 16244 这是正确的值 SELECT COUNT DISTINCT
  • 定义双感叹号?

    我理解双感叹号的作用 或者我认为我理解 但我不确定它是如何在随机对象上定义的 例如下面的代码片段 Assignment a if getAssignment query a return false hasSolution a if a r
  • uint 和 unsigned int 之间的区别?

    有什么区别吗uint and unsigned int 我正在查看此网站 但所有问题都涉及 C 或 C 我想要一个关于C语言的答案 如果相关的话 请注意我在 Linux 下使用 GCC uint不是标准类型 unsigned int is
  • 关闭 GPS 时广播接收器调用了 2 次?

    显现
  • 将 UTF-8 编码的 NSData 转换为 NSString

    我有UTF 8编码NSData来自 Windows 服务器 我想将其转换为NSString对于iPhone 由于数据包含在两个平台上具有不同值的字符 如度数符号 如何将数据转换为字符串 如果数据不是空终止的 您应该使用 initWithDa
  • 当只有插件源可用时,如何在 sbt 项目中使用插件?

    我想使用sbt 斯克鲁奇 https github com bancek sbt scrooge插件 但它的存储库现在不可用 http koofr github com http koofr github com 我想我应该将这个插件的源代
  • 如何在 NLTK 中进行依存解析?

    翻阅 NLTK 书 并不清楚如何从给定的句子生成依存树 本书的相关部分 依存语法子章节 https www nltk org book ch08 html dependencies and dependency grammar给出一个示例图
  • 数组与数组列表有显着差异吗? [复制]

    这个问题在这里已经有答案了 可能的重复 在 C 中何时使用 ArrayList 而不是 array https stackoverflow com questions 412813 when to use arraylist over ar
  • 混合 C 和 C++...对函数的未定义引用 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 在 C 项目中 我尝试调用这个在 C 中定义的函数 int CyBtldr RunAction CyBtldr Action action
  • 什么分布式消息队列支持百万级队列?

    我正在寻找一个分布式消息队列 它将支持数百万个队列 每个队列每秒处理数十条消息 消息会很小 几十个字节 而且我不希望队列变得很长 每个队列最多有几十条消息 但是当系统运行时 队列应该保持相当长的状态空的 我不确定集群中有多少个节点 可能取决
  • 使用指南针指向实际坐标位置而不仅仅是北

    我见过一些这样的例子 但不确定到底如何实现它 例如iPhone 指南针 GPS 方向 https stackoverflow com questions 4130821 iphone compass gps direction 中我需要在
  • 欧拉计划问题 233

    我决定解决欧拉计划接下来 但我遇到了一些重大问题 我做了一些分析并取得了一些相当不错的进展 但现在我陷入了困境 这是我的工作 Lemma 1 由于圆经过 4 个角点 因此对于任意 n 至少有 4 个解 但对于圆周上的每个点 都可以通过反射发
  • 有没有一种在 python 中创建复制构造函数的好方法?

    我意识到有人提出了与此非常相似的问题 尽管不完全是这样 我想为我的类的构造函数提供一个可选参数 如果它是我的类的实例 则将复制该参数 例如 类似 我知道这段代码不起作用 class Foo object def init self foo
  • 在对象数组中查找具有“id”属性最大值的对象

    在我的对象数组中 我想找到具有最高值的对象id财产 这是我的数组 myArray id 73 foo bar id 45 foo bar 一般来说 我使用 grep查找数组中的值 如下所示 var result grep myArray f
  • 在 Android 中触摸并拖动图像

    我正在研究一些示例 其中我想拖动与 Android 中的触摸相对应的图像 有人知道我该怎么做吗 public class TouchBall extends Activity Override protected void onCreate
  • 如何选择任意行的相邻行(在 sql 或 postgresql 中)?

    我想根据特定条件选择一些行 然后从该集合中取出一个条目及其前后的 5 行 现在 如果表上有主键 例如 主键在数值上比目标行的键小 5 且比目标行的键多 5 我可以在数字上执行此操作 因此选择主键为 7 的行及其附近的行 select pri