Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.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
Mysql 在ORDERBY子句的表达式中使用_Mysql_Sql - Fatal编程技术网

Mysql 在ORDERBY子句的表达式中使用

Mysql 在ORDERBY子句的表达式中使用,mysql,sql,Mysql,Sql,如何正确使用ORDERBY子句中的表达式?我有几个这样的问题,我找不到解决办法 我想从客户列表中选择ID、lastname、country,并首先按北美国家(加拿大和美国,具有相应的ID)进行订购,然后在这些国家填充后,我想仅根据ID订购其余数据 Select customerid, lastname, country From customer Where country IN ('Canada', 'USA') Order By CustomerID 这就是他们要找的 我已经尝试过Wher

如何正确使用ORDERBY子句中的表达式?我有几个这样的问题,我找不到解决办法

我想从客户列表中选择ID、lastname、country,并首先按北美国家(加拿大和美国,具有相应的ID)进行订购,然后在这些国家填充后,我想仅根据ID订购其余数据

Select customerid, lastname, country
From customer
Where country IN ('Canada', 'USA')
Order By CustomerID
这就是他们要找的

我已经尝试过Where子句和嵌套查询,但我对这方面还不熟悉


欢迎提供任何建议。

您不希望使用
where
标准,而是使用条件排序:

Select customerid, lastname, country
From customer
Order By country IN ('Canada', 'USA') desc, CustomerID

您还可以在您的
订单中编写
案例
,以获得更多选项

Select customerid, lastname, country
From customer
Order By 
    CASE 
        WHEN country IN ('Canada', 'USA')  THEN 1
        ELSE 2
    END as order_id
    , CustomerID

你面临的问题是什么?谢谢你的解释!