我希望我的查询返回表(行)代码中包含特定值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
答案 0 :(得分:1)
您可以在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;