【发布时间】:2016-12-02 07:59:50
【问题描述】:
我有一个这样的表格,它显示了哪个用户评论了哪个父线程。
ParentID CommentID UserName CommentDateTime
58 58 Vicky 2016-12-02 11:51:07.270
58 61 Billu 2016-12-02 12:35:40.220
58 62 Rakesh 2016-12-02 12:37:42.133
如果假设对第 2 行进行了评论,则会生成一个新的 commentid,即 63
我想编写一个按以下顺序列出行的 sql 查询:
ParentID CommentID UserName CommentDateTime
58 58 Vicky 2016-12-02 11:51:07.270
58 61 Billu 2016-12-02 12:35:40.220
61 63 Rakesh 2016-12-02 13:37:42.133
58 62 Rakesh 2016-12-02 12:37:42.133
你能帮我写一个逻辑/SQL吗?
【问题讨论】:
-
给定的父评论可以有多少回复?回复的数量是否可变?
-
SQL 数据本质上是无序的 - 所以你不能在两个现有行之间插入一行 - 只能将它添加到表的末尾。当您从表中选择数据并明确指定
ORDER BY子句时,您只会得到一个 order ... -
您可以删除现有的并通过使用临时表的排列重新进入。
-
@Suraz 在检索数据时仍需要对其进行隐式排序。 SQL Server 不保证顺序,否则
-
Sql Server按主键顺序插入行并按主键顺序检索行(如果未指定
order by)
标签: sql sql-server tsql stored-procedures logic