我在查询中使用年龄过滤器,我有多个年龄可供选择,如下所示
18岁以下
25岁以下
25-34
35-44
45-54
55-64
65岁以上
我将从 mysql 中选择有关年龄的行,如下所示
select * from users where isactive=1
AND (DateOfBirth > (CURDATE() - INTERVAL $Age YEAR) OR $Age = 0)
现在我想在 age if $age variable =25-34 上添加 case 语句,以便我可以选择相关的
或者任何人都可以告诉我如何在案例中编写和声明
case $age
when $age='25' AND (DateOfBirth > (CURDATE() - INTERVAL $Age YEAR) OR $Age = 0)
end case
这是完整的查询,我可以很好地搜索结果,只有年龄过滤器需要 case 语句用于以上多个年龄 这是查询:
从用户中选择 *
WHERE IsDeleted!=1
AND (IsMale = $Gender OR $Gender = 2)
///此时我需要添加多个大小写以按年龄过滤(在性别过滤之后)
最佳答案
这应该可以正常工作:
CASE
WHEN $age ='25'
AND
(
($Age = 0)
OR
(DateOfBirth > (CURDATE() - INTERVAL $Age YEAR))
)
Then ...
END
关于php - 带有 AND 的案例陈述,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13840879/