我写了一个查询,并从出生日期开始,我计算出一个人的年龄,然后使用AS年龄创建一个年龄字段.

我的问题是,是否有可能再次匹配那个年龄段?

像这样的东西,

SELECT `candidates`.`candidate_id`,

`candidates`.`first_name`,

`candidates`.`surname`,

`candidates`.`DOB`,

`candidates`.`gender`,

DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(`candidates`.`DOB`, '%Y') - (DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(`candidates`.`DOB`, '00-%m-%d')) AS `age`

FROM `candidates`

WHERE `age` <= 20

任何帮助将不胜感激?

—–所以我把WHERE更改为HAVING,这是我的完整查询——

SELECT `candidates`.`candidate_id`,

`candidates`.`first_name`,

`candidates`.`surname`,

`candidates`.`DOB`,

`candidates`.`gender`,

`candidates`.`talent`,

`candidates`.`location`,

`candidates`.`availability`,

`candidate_assets`.`url`,

`candidate_assets`.`asset_size`

FROM `candidates`

LEFT JOIN `candidate_assets` ON `candidate_assets`.`candidates_candidate_id` = `C`.`candidate_id`

WHERE `C`.`availability` = 'yes'

AND C.talent = "actor"

AND C.skill = "accents"

AND C.gender = "male"

AND HAVING DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(`candidates`.`DOB`, '%Y') - (DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(`candidates`.`DOB`, '00-%m-%d')) <= 69

AND HAVING DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(`candidates`.`DOB`, '%Y') - (DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(`candidates`.`DOB`, '00-%m-%d')) <=19

AND HAVING DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(`candidates`.`DOB`, '%Y') - (DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(`candidates`.`DOB`, '00-%m-%d')) <=49

我收到以下错误,

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘HAVING DATE_FORMAT(NOW(), ‘%Y’) – DATE_FORMAT(candidates.DOB, ‘%Y’) – (DATE_’ at line 15

对于我的生活,我不知道它是什么.

解决方法:

一种方法是将原始查询包装为子查询,并将WHERE子句移动到外部查询:

SELECT * FROM (

SELECT `candidates`.`candidate_id`, -- this is the original query

`candidates`.`first_name`,

`candidates`.`surname`,

`candidates`.`DOB`,

`candidates`.`gender`,

DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(`candidates`.`DOB`, '%Y') - (DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(`candidates`.`DOB`, '00-%m-%d')) AS `age`

FROM `candidates` ) as innertable

WHERE `age` <= 20 -- this is now part of the outer query

澄清:这可以在MySQL 5中运行

注意:这假设原始查询有效

标签:mysql,sql

来源: https://codeday.me/bug/20190530/1185794.html

mysql as_mysql AS子句相关推荐

  1. 8.2.1.2 How MySQL Optimizes WHERE Clauses MySQL 优化WHERE 子句

    8.2.1.2 How MySQL Optimizes WHERE Clauses MySQL 优化WHERE 子句本节讨论优化用于处理WHERE子句, 例子是使用SELECT 语句,但是相同的优化应 ...

  2. MySQL的Limit子句

    MySQL的Limit子句 Limit子句可以被用于强制 SELECT 语句返回指定的记录数,可以用来分页. 一.Limit子句参数用法 Limit接受一个或两个数字参数.参数必须是一个整数常量. 一 ...

  3. MySQL(14)--- WHERE 子句

    MySQL WHERE 子句 我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据. 如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中. 语法 以下是 ...

  4. 要想通过面试,MySQL的 Limit 子句底层原理你不可不知

    点击关注公众号,实用技术文章及时了解 来源:liuchenyang0515.blog.csdn.net/article/ details/120727513 文章目录 老样子,建个表 从sql执行计划 ...

  5. 要想通过面试,MySQL的Limit子句底层原理你不可不知

    文章目录 1.老样子,建个表 2.从sql执行计划看Limit的影响 3. 从server层和存储引擎层分析Limit执行过程 1.老样子,建个表 还是这张表,表里我创建了近10W条数据 CREATE ...

  6. MYSQL中RAND子句的使用_mysql优化--rand()优化

    众所周知,在mysql中,随机的取10条数据,如:select * from users order by rand() limit 10,效果非常差,因为会多次的执行,如果等值查询用rand()也是 ...

  7. MYsql优化where子句

    该部分讨论where子句的优化,不仅select之中,相同的优化同样试用与delete 和update语句中的where子句: 1: 移去不必要的括号: ((a AND b) AND c OR ((( ...

  8. mysql like ilike_MySQLilike 子句

    我们已经看到SQLSELECT命令从MySQLi表中获取数据.我们也可以使用一个名为WHERE子句的条件语句来选择所需的记录. 等号(=)的WHERE子句可以正常工作,我们要做完全匹配.喜欢" ...

  9. 菜鸟教程 mysql like_MySQL LIKE 子句

    MySQL LIKE 子句 我们知道在 MySQL 中使用 SQL SELECT 命令来读取数据, 同时我们可以在 SELECT 语句中使用 WHERE 子句来获取指定的记录. WHERE 子句中可以 ...

最新文章

  1. Consumer设计-high/low Level Consumer
  2. javascript对象操作总结
  3. yunyang1994 tensorflow_yolov3训练报错:IndexError: index 68 is out of bounds for axis 1 with size 68 数据清洗
  4. typescript_如何掌握高级TypeScript模式
  5. linux安装vim plug, vim-plug 的安装和使用
  6. 使用conda/pip安装pytorch 0.3.1教程(mac/windos/linux) pytorch 0.2.1
  7. py 字典添加多个value_# Python 3 # Python 3字典Dictionary(1)
  8. Java 蓝桥杯 判断闰年
  9. OO Summary (Homework 5-7)
  10. paip.读取WEB.XML中的参数值总结
  11. 微软 smtp 服务器,配置 SMTP 服务器
  12. 用QtCreator创建控制台应用程序
  13. SpringCloud ——@RefreshScope
  14. Bilateral attention network for RGB-D salient object detection阅读笔记
  15. CSS3 画的哆啦A梦
  16. 【EXCEL VBA】自学心得
  17. poj求排列的逆序数
  18. Windows下Debug模式的检测和OutputDebugString
  19. IE ajax无局部刷新_se7en3_新浪博客
  20. 软考-中级-网络工程师-笔记-第4章-局域网与城域网

热门文章

  1. 活动分享|今晚启明云端与您相约立创直播间,红包\彩屏开发板送不停!
  2. java窗体设置最小宽度_flex web Application设置最小高度和宽度。
  3. MTK Read/Write Ethernet Mac Addrees from Kernel NvRAM Patch
  4. 信仰的力量—海归毕业季的选择与入职后的蜕变记
  5. oracle删除表中数据_Excel工作表中,删除重复数据的2种方法解读,高效且实用!...
  6. IE浏览器error:Promise未定义
  7. 华夫饼为什么不松软_用了3年的华夫饼配方,掌握这个配比,外酥里软超,比蛋糕好吃...
  8. 斐波那契数列python递归 0、1、1、2、3_python: 递归和递推方法求斐波那契数列
  9. HPU-- 1190 確率
  10. js处理时间的那些事