如何在SQL中指定行的插入顺序?

时间:2011-05-25 18:20:22

标签: c# sql

如何指定将行插入SQL数据库的顺序?

e.g。我想按日期按降序插入我的记录。

cmd.CommandText = "select parkname,packname,duration,bookday from book where userid='"
    + Label15.Text + "' ORDER BY bookday DESC ";
rst = cmd.ExecuteReader();
rst.Read(); 

2 个答案:

答案 0 :(得分:13)

不要担心您插入记录的顺序。

原因是,在使用SQL选择数据时,除非使用ORDER BY子句,否则返回记录的顺序是不确定的。如果由于性能原因要维护表顺序,请在要排序的列上使用聚簇索引。

如果您只想按日期降序选择数据,请执行以下操作:

select MyColumn1, MyColumn2, MyDateColumn
from MyTable
order by MyDateColumn desc

答案 1 :(得分:1)

规范化关系数据库的一个特性是您无需担心订单。每一行都独立存在。如果切换2行,则数据仍然相同且含义相同。

您需要的是日期时间戳。在表中添加一个存储日期时间的字段,然后将该字段的默认值设置为GETDATE()。然后,无论何时进行插入,该行都将标记日期时间。然后,您可以在查询中使用Order by以正确的顺序显示数据。