【发布时间】:2025-11-29 18:40:01
【问题描述】:
SQL 菜鸟,请多多包涵!!
我在数据库中存储一个 3 元组 (x,y, {signal1, signal2,..})。
我有一个数据库,其中包含表坐标 (x,y) 和另一个名为信号 (signal, coordinate_id, group) 的表,它存储各个信号值。同一坐标可以有多个信号。
组只是一个任意整数,它将信号表中的条目标记为属于同一集合(假设它们属于同一坐标)。这样任何具有相同 'coordinate_id' 和 'group' 的信号一起形成一个元组,如上所示。
例如,
坐标表 信号表 ----------------- ----------------- |编号 | x |是 | |编号 |信号 |坐标id |集团 | | 1 | 1 | 2 | | 1 | 45 | 1 | 1 | | 2 | 2 | 5 | | 2 | 95 | 1 | 1 | | 3 | 33 | 1 | 1 | | 4 | 65 | 1 | 2 | | 5 | 57 | 1 | 2 | | 6 | 63 | 2 | 1 |这将产生元组 (1,2 {45,95,33})、(1,2,{65,57})、(2,5, {63}) 等等。
我想为每个坐标检索 {signal1, signal2,...} 的集合。属于一个集合的信号具有相同的坐标id和组,但我不一定知道组值。我只知道如果某个特定坐标id的组值相同,那么所有具有该组的人都形成一个集合。
我尝试查看 SQL GROUP BY,但我意识到它是用于聚合函数的。
有人可以指出如何在 SQL 中正确执行此操作或提供改进我的数据库结构的提示。
【问题讨论】: