2012-08-17 37 views
0

我一直在使用mysql一段時間,但我從來沒有遇到過一個問題,我不得不使用一個條件到現在。基本上,我需要做到這一點(最好的辦法,我來解釋它是寫它,就好像在MySQL支持類似條件的PHP):MySQL中的IF如果在SELECT子句中?

SELECT `Gender`=='male' ? '0.5' : '1' AS Col1 FROM Users 

基本上我想有一個0.5 AS Col1中所有的「男性」和所有'女性'爲1。

如:

UID Gender 
1 male 
2 female 
3 male 

應返回:

UID Col1 
1 0.5 
2 1 
3 0.5 

如果你想知道有關實現的。我想根據他們的共同習慣向用戶推薦「關注誰」。 (對男人來說是0.5,意味着他們跟隨男人的數量是男人的兩倍)。

這怎麼辦?

+1

我希望這並不意味着男性只對了一半身價女:) – 2012-08-17 06:33:50

回答

4

您可以使用

SELECT if(`Gender`='male','0.5','1') AS Col1 
FROM Users 

SELECT case when `Gender`='male' 
      then '0.5' 
      else '1' 
     end AS Col1 
FROM Users 
3
select uid, 
    case gender 
     when 'male' then '0.5' 
     when 'female' then '1' 
    end as genderindigit 
from 
    users 
2

嘗試

SELECT IF(`Gender` = 'male', '0.5', '1') AS Col1 
FROM Users