Postgresql 如何返回具有特定值last和order by name的行?

Postgresql 如何返回具有特定值last和order by name的行?,postgresql,sql-order-by,Postgresql,Sql Order By,我希望查询返回表中列(代码)包含特定值3或4的行 然后根据客户的订单移动底部 如果我有一个类似以下示例的表格: Name Code ------------- Arun 1 Arun 2 Arun 3 Arun 4 Babu 1 Babu 3 Raj 1 Raj 2 Ashok 1

我希望查询返回表中列(代码)包含特定值3或4的行 然后根据客户的订单移动底部

如果我有一个类似以下示例的表格:

       Name  Code  
      -------------
        Arun  1    
        Arun  2
        Arun  3
        Arun  4
        Babu  1
        Babu  3
        Raj   1
        Raj   2
        Ashok 1
        Ashok 2
使用该表,我希望我的查询返回列(代码)底部包含值3或4的行,然后按名称排序。仅使用一个查询就可以做到这一点吗

预期产量

       Name  Code 
      ------------
        Ashok 1
        Ashok 2
        Raj   1
        Raj   2
        Arun  1
        Arun  2
        Arun  3
        Arun  4
        Babu  1
        Babu  3

您可以在
ORDER BY
子句中添加一个子查询,该子查询将允许按名称排序,这些名称的后面有3/4个值:

SELECT atable.name, atable.code
FROM atable
ORDER BY (
  SELECT a1.code
  FROM atable a1
  WHERE a1.name = atable.name
  AND a1.code IN ( 3, 4 )
  LIMIT 1 ) DESC, atable.name, atable.code;

您的预期输出是什么?您所说的
code(和第三列日期)是什么意思,但code=3或4显示在列表的末尾。
?显示您的选择?猜测:
select。。。从表中,代码按名称、代码、日期(3,4)顺序排列。
如果要查看,请创建一个
视图
,但
表中的此数据将按输入时间顺序显示。@user1731940显示预期结果请参见下面的查询