Postgresql 如何返回具有特定值last和order by name的行?
我希望查询返回表中列(代码)包含特定值3或4的行 然后根据客户的订单移动底部 如果我有一个类似以下示例的表格: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
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显示预期结果请参见下面的查询