如何编写SQL查询以根据记录输入的顺序获取记录?(无日期列)
我需要编写一个SQL查询,按照记录输入表的顺序返回记录 我无法向表中添加列或以任何方式更改表。我可以如何编写SQL查询以根据记录输入的顺序获取记录?(无日期列),sql,sql-server,Sql,Sql Server,我需要编写一个SQL查询,按照记录输入表的顺序返回记录 我无法向表中添加列或以任何方式更改表。我可以插入到和从表中选择 假设我执行三个insert查询,如 insert into x values(a,1); insert into x values(d,4); insert into x values(u,42); 当我从表x中选择时,我需要按此顺序获取记录 a 1 d 4 u 42 表只有两列,都与日期无关。如果不以某种方式更改表,则无法执行此操作 当您从表中选择数据时,返
插入到
和从表中选择
假设我执行三个insert查询,如
insert into x values(a,1);
insert into x values(d,4);
insert into x values(u,42);
当我从表x
中选择时,我需要按此顺序获取记录
- a 1
- d 4
- u 42
表只有两列,都与日期无关。如果不以某种方式更改表,则无法执行此操作 当您从表中选择数据时,返回数据的顺序在我所知道的所有sql数据库引擎上都是不确定的,当然在MSSQL server 2000+中也是如此。要按定义的顺序获取行,必须包含一个
order BY
子句,并且不能指定任何内容来提供所需的顺序
既然您不能更改模式,那么游戏就结束了
好吧,(几乎)没有什么是不可能的。您可以定期分析物理数据库文件的更改,并将这些更改解码为所需的信息,但是,当一个事务插入多行时,这可能会失败
我怀疑你有这样做的机会或意愿。你不能。如果没有order by子句,返回的订单是不确定的,并且您没有任何东西要按什么数据库系统订购?MySQL、SQL Server、Postgres等?请将此编辑到您的问题中。另外,请提供有关表格的信息。它是否有一些
createdAt
列或id
,每次插入都会增加?表结构是什么样的?是否有自动递增的PK?是否有添加日期字段?我猜你的问题很类似于。如果x中没有其他列,比如auto increment/indentiy/timestamp,那么你就不能。数据库的设计器不允许此操作。您可以添加另一个表和触发器吗?+1用于分析数据库文件!