2009-10-30 27 views
56

我使用MySQL和我想要做一個排序的三元語句在我的SQL這樣的:如何在MySQL select語句中編寫條件?

SELECT USER_ID, ((USER_ID = 1) ? 1 : 0) AS FIRST_USER 
    FROM USER 

結果將類似於:

USER_ID | FIRST_USER 
1  | 1 
2  | 0 
3  | 0 
etc. 

怎樣才能做到這一點?

回答

73
SELECT USER_ID, (CASE USER_ID WHEN 1 THEN 1 ELSE 0 END) as FIRST_USER FROM USER 
+0

謝謝,效果很好! – Langdon 2009-10-30 04:10:49

+8

這是最好的答案 - CASE是ANSI標準,查詢將在SQL Server,Oracle,MySQL,Postgres上無需更改... – 2009-10-30 04:18:10

51
SELECT USER_ID, IF(USER_ID = 1, 1, 0) AS FIRST_USER FROM USER 

IF()聲明的工作方式類似於三元? :運營商。

+0

我試圖有條件地選擇column_a或column_b(使用一個作爲備用,如果另一個是空),這對我來說。謝謝! – 2015-06-09 18:55:07