Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 按两列排序_Sql_Postgresql - Fatal编程技术网

Sql 按两列排序

Sql 按两列排序,sql,postgresql,Sql,Postgresql,假设我有一张这样的桌子: 如您所见,id为6的行是对id为3的行的响应。我想对结果集进行排序,使其显示在第3行和第7行之间。如何做到这一点?做: select*from comments\u comment order by updated\u at,response\u to\u id让我了解您在图像上看到的内容 ORDER BY COALESCE(response_to_id, id), id 排序背后的逻辑是希望父记录及其子记录显示在一起,父记录显示在组的顶部 上述ORDER BY是指

假设我有一张这样的桌子:

如您所见,id为6的行是对id为3的行的响应。我想对结果集进行排序,使其显示在第3行和第7行之间。如何做到这一点?做:
select*from comments\u comment order by updated\u at,response\u to\u id
让我了解您在图像上看到的内容

ORDER BY COALESCE(response_to_id, id), id
排序背后的逻辑是希望父记录及其子记录显示在一起,父记录显示在组的顶部


上述
ORDER BY
是指,对于子对象,它通过获取
response\u to\u id
来识别组id,对于
response\u to\u id
为空的父对象,它通过获取实际的
id
来识别组id。然后在每个组中,它按id值排序。

按id整数排序?在这种特殊情况下,它会起作用,但如果有人在创建第7条注释后添加注释以响应第3条注释,则不会起作用。不是吗?6是对id 3的响应,它是在id 7之后创建的