我有一张表格如下:
id male female m_age f_age
1 bob jane 27 25
2 sam sue 29 31
3 fred barb 22 22
4 dave joan 30 28
我想只返回年龄较大的人的姓名。结果:
bob
sue
dave
my my mysql查询看起来好像是这样吗?
这是我到目前为止所拥有的。
$result = mysql_query('
SELECT
CASE
WHEN m_age > f_age then male
WHEN m_age < f_age then female
END
AS person
FROM people
') or die(mysql_error());
但我的查询在fred equal倒钩上返回一个空行,我不希望返回该行。
由于
答案 0 :(得分:3)
您可以添加WHERE
子句,以便在年龄相同时排除行:
SELECT
CASE
WHEN m_age > f_age then male
WHEN m_age < f_age then female
END AS person
FROM people
where m_age <> f_age
或者,您可以在ELSE
中加入一个值,以便在年龄匹配时返回:
SELECT
CASE
WHEN m_age > f_age then male
WHEN m_age < f_age then female
ELSE 'Ages match'
END AS person
FROM people;