我们假设我有一张如下表:
Why call base.OnStop() when Windows Service is stopped?
正如您所看到的那样 - 具有ID为6的行是对ID为3的行的响应。我想订购我的结果集,以便它出现在第3行和第7行之间。如何实现?这样做:
select * from comments_comment order by updated_at, response_to_id
让我得到你在图片上可以看到的内容。
答案 0 :(得分:4)
ORDER BY COALESCE(response_to_id, id), id
您的订购背后的逻辑是,您希望父记录及其子项显示为组合在一起,父组显示在组的顶部。
以上ORDER BY
就是它通过在儿童的情况下采用response_to_id
来识别组ID,或者在父母的情况下采用id
response_to_id
1}}为空。然后在每个组中按id
值排序。