被SELECT语句难住了

leo2u 2001-06-11 11:26:00
大家知道数据库表中的数据行存储是无序的,现要设计一个表,表中所有记录形成队列,也就是说每条记录都有它的前一条记录和后一条记录的ID号。那么对这样一个表该如何写SELCE语句把记录按序取出呢(要高效、一次性取出)。

假设表名为: table
字段名为:
id
id_pre
id_next
(注:1、id的值不一定是有序的数值,可为任意形式
2、随时可能更改记录的先后顺序)

上述表如何写SELECT语句得出的数据集是排好序的?或者说应该换一种方法设计表结构?谢谢
...全文
89 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwl007 2001-06-11
  • 打赏
  • 举报
回复
个我一个具体的例子好吗
leo2u 2001-06-11
  • 打赏
  • 举报
回复
哪位高手来瞧瞧吧
leo2u 2001-06-11
  • 打赏
  • 举报
回复
我在管家婆中有看到它实现过,就是不知道是咋实现的
yangzi 2001-06-11
  • 打赏
  • 举报
回复
呵呵,用关系数据库实现它比较困难。我也想知道如何做。
tidycc 2001-06-11
  • 打赏
  • 举报
回复
只能用于ORACLE,不能用于其它。
不可通用
leo2u 2001-06-11
  • 打赏
  • 举报
回复
TomHan(小马哥),感谢你的帮助,还想请教一下你的SQL语能通用吗?换不同的DBMS行不行,我只是SQL的初学者
和光同尘 2001-06-11
  • 打赏
  • 举报
回复
In Oracle.

table_test:
ID ID_PRE ID_NEXT
---------- ---------- ----------
01 02
02 01 03
05 04 06
03 02 04
04 03 05

>>

SQL> SELECT id_pre,id,id_next
2 FROM table_test
3 START WITH id = '01'
4 CONNECT BY PRIOR id_next = id;

ID_PRE ID ID_NEXT
---------- ---------- ----------
01 02
01 02 03
02 03 04
03 04 05
04 05 06

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧