lis*_*aro 0 mysql conditional-statements
我使用 mysql 已经有一段时间了,但到目前为止我从未遇到过必须使用条件的问题。基本上我需要这样做(对我来说解释它的最好方法是将其写成就好像 mysql 支持类似 php 的条件一样):
SELECT `Gender`=='male' ? '0.5' : '1' AS Col1 FROM Users
Run Code Online (Sandbox Code Playgroud)
基本上,我希望所有“男性”的 AS Col1 为 0.5,所有“女性”的 AS Col1 为 1。
例如:
UID Gender
1 male
2 female
3 male
Run Code Online (Sandbox Code Playgroud)
应该返回:
UID Col1
1 0.5
2 1
3 0.5
Run Code Online (Sandbox Code Playgroud)
如果您想了解实施情况。我想根据用户的共同习惯推荐“关注谁”。(对于男性来说,0.5 意味着他们关注的女性数量是男性的两倍)。
如何才能做到这一点?
您可以使用
SELECT if(`Gender`='male','0.5','1') AS Col1
FROM Users
Run Code Online (Sandbox Code Playgroud)
或者
SELECT case when `Gender`='male'
then '0.5'
else '1'
end AS Col1
FROM Users
Run Code Online (Sandbox Code Playgroud)