php - 带有 AND 的案例陈述

标签 php mysql case

我在查询中使用年龄过滤器,我有多个年龄可供选择,如下所示

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/

相关文章:

mysql - 避免 SELECT 查询中的冗余表达式

MySQL ON DUPLICATE KEY UPDATE 插入新行

MySQL AUTO_INCREMENT 按组使用 InnoDB 或替代品

mysql - 使用带限制的 CASE 子查询更新 mysql 表

带有 switch 语句的 C++ 逻辑

php - 通过 SSH 进行的 SQL 查询不起作用

php - 使用 PDO 准备语句的登录页面不起作用,但在其他方面工作正常

php - 从另一个 php 脚本访问 Symfony2 Session

C++ : recognizing lower case as correct when its stored as upper case?

php - 使用HTML选项从MySQL插入和选择多个表