2015-10-28 61 views
0

如何在Order By子句中正確使用IN表達式?我有這樣的幾個問題,我找不到解決方案。在Order By子句中使用IN表達式

我想從客戶名單中選擇ID,姓氏和國家,先由北美國家(加拿大和美國,帶有相應的ID)訂購,然後一旦有人填寫,我想根據僅ID。

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

Here是他們正在尋找。

我已經嘗試Where子句和嵌套查詢,但我是新來的。

歡迎任何建議。

+0

什麼是您所遇到的問題? – MusicLovingIndianGirl

回答

2

你不想使用where標準,而是有條件的排序:

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

完美的作品,非常感謝! – Michael

0

你也可以在你的order bycase獲得更多的選擇。

sqlFiddleDemo

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

感謝您的解釋! – Michael