0

我一直在使用 mysql 一段时间,但到目前为止我从未遇到过必须使用条件的问题。基本上我需要这样做(对我来说最好的解释方法是把它写成mysql支持类似php的条件):

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 意味着他们关注的女性人数是男性的两倍)。

如何才能做到这一点?

4

3 回答 3

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
于 2012-08-17T06:31:44.097 回答
3
select uid,
    case gender
        when 'male' then '0.5'
        when 'female' then '1'
    end as genderindigit
from
    users
于 2012-08-17T06:32:15.580 回答
2

尝试

SELECT IF(`Gender` = 'male', '0.5', '1') AS Col1
FROM Users
于 2012-08-17T06:34:52.650 回答