我有一个表格如下:
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
我的 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 等于倒钩上返回一个空白行,我不希望返回该行。
谢谢
最佳答案
您可以包含一个 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;
关于mysql - 如何根据 MySQL 表中 2 列的比较来选择某些行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16344317/