mysql as_mysql AS子句
我写了一个查询,并从出生日期开始,我计算出一个人的年龄,然后使用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子句相关推荐
- 8.2.1.2 How MySQL Optimizes WHERE Clauses MySQL 优化WHERE 子句
8.2.1.2 How MySQL Optimizes WHERE Clauses MySQL 优化WHERE 子句本节讨论优化用于处理WHERE子句, 例子是使用SELECT 语句,但是相同的优化应 ...
- MySQL的Limit子句
MySQL的Limit子句 Limit子句可以被用于强制 SELECT 语句返回指定的记录数,可以用来分页. 一.Limit子句参数用法 Limit接受一个或两个数字参数.参数必须是一个整数常量. 一 ...
- MySQL(14)--- WHERE 子句
MySQL WHERE 子句 我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据. 如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中. 语法 以下是 ...
- 要想通过面试,MySQL的 Limit 子句底层原理你不可不知
点击关注公众号,实用技术文章及时了解 来源:liuchenyang0515.blog.csdn.net/article/ details/120727513 文章目录 老样子,建个表 从sql执行计划 ...
- 要想通过面试,MySQL的Limit子句底层原理你不可不知
文章目录 1.老样子,建个表 2.从sql执行计划看Limit的影响 3. 从server层和存储引擎层分析Limit执行过程 1.老样子,建个表 还是这张表,表里我创建了近10W条数据 CREATE ...
- MYSQL中RAND子句的使用_mysql优化--rand()优化
众所周知,在mysql中,随机的取10条数据,如:select * from users order by rand() limit 10,效果非常差,因为会多次的执行,如果等值查询用rand()也是 ...
- MYsql优化where子句
该部分讨论where子句的优化,不仅select之中,相同的优化同样试用与delete 和update语句中的where子句: 1: 移去不必要的括号: ((a AND b) AND c OR ((( ...
- mysql like ilike_MySQLilike 子句
我们已经看到SQLSELECT命令从MySQLi表中获取数据.我们也可以使用一个名为WHERE子句的条件语句来选择所需的记录. 等号(=)的WHERE子句可以正常工作,我们要做完全匹配.喜欢" ...
- 菜鸟教程 mysql like_MySQL LIKE 子句
MySQL LIKE 子句 我们知道在 MySQL 中使用 SQL SELECT 命令来读取数据, 同时我们可以在 SELECT 语句中使用 WHERE 子句来获取指定的记录. WHERE 子句中可以 ...
最新文章
- Consumer设计-high/low Level Consumer
- javascript对象操作总结
- yunyang1994 tensorflow_yolov3训练报错:IndexError: index 68 is out of bounds for axis 1 with size 68 数据清洗
- typescript_如何掌握高级TypeScript模式
- linux安装vim plug, vim-plug 的安装和使用
- 使用conda/pip安装pytorch 0.3.1教程(mac/windos/linux) pytorch 0.2.1
- py 字典添加多个value_# Python 3 # Python 3字典Dictionary(1)
- Java 蓝桥杯 判断闰年
- OO Summary (Homework 5-7)
- paip.读取WEB.XML中的参数值总结
- 微软 smtp 服务器,配置 SMTP 服务器
- 用QtCreator创建控制台应用程序
- SpringCloud ——@RefreshScope
- Bilateral attention network for RGB-D salient object detection阅读笔记
- CSS3 画的哆啦A梦
- 【EXCEL VBA】自学心得
- poj求排列的逆序数
- Windows下Debug模式的检测和OutputDebugString
- IE ajax无局部刷新_se7en3_新浪博客
- 软考-中级-网络工程师-笔记-第4章-局域网与城域网
热门文章
- 活动分享|今晚启明云端与您相约立创直播间,红包\彩屏开发板送不停!
- java窗体设置最小宽度_flex web Application设置最小高度和宽度。
- MTK Read/Write Ethernet Mac Addrees from Kernel NvRAM Patch
- 信仰的力量—海归毕业季的选择与入职后的蜕变记
- oracle删除表中数据_Excel工作表中,删除重复数据的2种方法解读,高效且实用!...
- IE浏览器error:Promise未定义
- 华夫饼为什么不松软_用了3年的华夫饼配方,掌握这个配比,外酥里软超,比蛋糕好吃...
- 斐波那契数列python递归 0、1、1、2、3_python: 递归和递推方法求斐波那契数列
- HPU-- 1190 確率
- js处理时间的那些事