如何 return 具有特定值的行最后并按名称排序?
How do I return rows with a specific value last and order by name?
我希望查询 return table 的行,其中列(代码)包含特定值 3 或 4
然后按客户订单移至底部
如果我有一个像这个例子的table:
Name Code
-------------
Arun 1
Arun 2
Arun 3
Arun 4
Babu 1
Babu 3
Raj 1
Raj 2
Ashok 1
Ashok 2
并使用 table 我想查询 return 列(代码)包含值 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;
我希望查询 return table 的行,其中列(代码)包含特定值 3 或 4 然后按客户订单移至底部
如果我有一个像这个例子的table:
Name Code
-------------
Arun 1
Arun 2
Arun 3
Arun 4
Babu 1
Babu 3
Raj 1
Raj 2
Ashok 1
Ashok 2
并使用 table 我想查询 return 列(代码)包含值 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;