查找员工';MySQL的体验差异
问题是找出史密斯和艾伦的经验差异。 所以我写了这个查询查找员工';MySQL的体验差异,mysql,Mysql,问题是找出史密斯和艾伦的经验差异。 所以我写了这个查询 SELECT DATEDIFF( SELECT hiredate FROM emp WHERE ename LIKE 'SMITH', SELECT hiredate FROM emp WHERE ename LIKE 'ALLEN' ) FROM emp; 它显示了错误。。 这个查询有什么问题。 Plz帮助….子查询需要用括号括起来: SELECT DATEDIFF(
SELECT DATEDIFF(
SELECT hiredate FROM emp
WHERE ename LIKE 'SMITH',
SELECT hiredate FROM emp
WHERE ename LIKE 'ALLEN'
) FROM emp;
它显示了错误。。
这个查询有什么问题。
Plz帮助….子查询需要用括号括起来:
SELECT DATEDIFF(
(SELECT hiredate FROM emp
WHERE ename LIKE 'SMITH'),
(SELECT hiredate FROM emp
WHERE ename LIKE 'ALLEN')
) FROM emp;
实际上,您不需要emp中的最终,除非您需要很多行:
SELECT DATEDIFF(
(SELECT hiredate FROM emp
WHERE ename LIKE 'SMITH'),
(SELECT hiredate FROM emp
WHERE ename LIKE 'ALLEN')
);
编写此查询的另一种方法:
select datediff(max(case when ename like 'SMITH' then hiredate end),
max(case when ename like 'ALLEN' then hiredate end)
)
from emp
where ename in ('SMITH', 'ALLEN');
此查询的优点是只读取emp
表一次
编辑:(约个月)
MySQL没有内置的能力来计算两个值之间的月数。近似值为天/30.4
。您可以使用period\u diff()
。但如果这很重要,那么再问另一个问题,并举例说明你所说的月差是什么意思(“2014-01-31”和“2014-02-01”之间有什么区别?“2014-01-12”和“2014-02-11”之间有什么区别?“2014-01-01”和“2014-01-31”之间有什么区别?)。子查询需要用括号括起来:
SELECT DATEDIFF(
(SELECT hiredate FROM emp
WHERE ename LIKE 'SMITH'),
(SELECT hiredate FROM emp
WHERE ename LIKE 'ALLEN')
) FROM emp;
实际上,您不需要emp中的最终,除非您需要很多行:
SELECT DATEDIFF(
(SELECT hiredate FROM emp
WHERE ename LIKE 'SMITH'),
(SELECT hiredate FROM emp
WHERE ename LIKE 'ALLEN')
);
编写此查询的另一种方法:
select datediff(max(case when ename like 'SMITH' then hiredate end),
max(case when ename like 'ALLEN' then hiredate end)
)
from emp
where ename in ('SMITH', 'ALLEN');
此查询的优点是只读取emp
表一次
编辑:(约个月)
MySQL没有内置的能力来计算两个值之间的月数。近似值为天/30.4
。您可以使用period\u diff()
。但如果这很重要,那么再问另一个问题,并举例说明你所说的月差是什么意思(“2014-01-31”和“2014-02-01”之间有什么区别?“2014-01-12”和“2014-02-11”之间有什么区别?“2014-01-01”和“2014-01-31”之间有什么区别?)。子查询需要用括号括起来:
SELECT DATEDIFF(
(SELECT hiredate FROM emp
WHERE ename LIKE 'SMITH'),
(SELECT hiredate FROM emp
WHERE ename LIKE 'ALLEN')
) FROM emp;
实际上,您不需要emp中的最终,除非您需要很多行:
SELECT DATEDIFF(
(SELECT hiredate FROM emp
WHERE ename LIKE 'SMITH'),
(SELECT hiredate FROM emp
WHERE ename LIKE 'ALLEN')
);
编写此查询的另一种方法:
select datediff(max(case when ename like 'SMITH' then hiredate end),
max(case when ename like 'ALLEN' then hiredate end)
)
from emp
where ename in ('SMITH', 'ALLEN');
此查询的优点是只读取emp
表一次
编辑:(约个月)
MySQL没有内置的能力来计算两个值之间的月数。近似值为天/30.4
。您可以使用period\u diff()
。但如果这很重要,那么再问另一个问题,并举例说明你所说的月差是什么意思(“2014-01-31”和“2014-02-01”之间有什么区别?“2014-01-12”和“2014-02-11”之间有什么区别?“2014-01-01”和“2014-01-31”之间有什么区别?)。子查询需要用括号括起来:
SELECT DATEDIFF(
(SELECT hiredate FROM emp
WHERE ename LIKE 'SMITH'),
(SELECT hiredate FROM emp
WHERE ename LIKE 'ALLEN')
) FROM emp;
实际上,您不需要emp中的最终,除非您需要很多行:
SELECT DATEDIFF(
(SELECT hiredate FROM emp
WHERE ename LIKE 'SMITH'),
(SELECT hiredate FROM emp
WHERE ename LIKE 'ALLEN')
);
编写此查询的另一种方法:
select datediff(max(case when ename like 'SMITH' then hiredate end),
max(case when ename like 'ALLEN' then hiredate end)
)
from emp
where ename in ('SMITH', 'ALLEN');
此查询的优点是只读取emp
表一次
编辑:(约个月)
MySQL没有内置的能力来计算两个值之间的月数。近似值为天/30.4
。您可以使用period\u diff()
。但如果这很重要,那么再问另一个问题,并举例说明你所说的月差(2014-01-31和2014-02-01之间的差异是什么?'2014-01-12和'2014-02-11'之间的差异是什么?'2014-01-01'和'2014-01-31'之间的差异是什么?)。你能用下面的查询来获得月差天数吗:
SELECT ceil(DATEDIFF(
(SELECT hiredate FROM emp WHERE ename LIKE 'SMITH'),(SELECT hiredate FROM emp WHERE ename LIKE 'ALLEN')
)/30.4);
您能否使用以下查询以月为单位获取日差:
SELECT ceil(DATEDIFF(
(SELECT hiredate FROM emp WHERE ename LIKE 'SMITH'),(SELECT hiredate FROM emp WHERE ename LIKE 'ALLEN')
)/30.4);
您能否使用以下查询以月为单位获取日差:
SELECT ceil(DATEDIFF(
(SELECT hiredate FROM emp WHERE ename LIKE 'SMITH'),(SELECT hiredate FROM emp WHERE ename LIKE 'ALLEN')
)/30.4);
您能否使用以下查询以月为单位获取日差:
SELECT ceil(DATEDIFF(
(SELECT hiredate FROM emp WHERE ename LIKE 'SMITH'),(SELECT hiredate FROM emp WHERE ename LIKE 'ALLEN')
)/30.4);
谢谢我真的很喜欢最后一个问题。这很有帮助:)最后一个应该有一个,
,它曾经有一个-
。如果我想用月而不是天来计算差异呢?@SriVastav:我已经添加了我的答案,只是做了一些小的修改。谢谢。。。我真的很喜欢最后一个问题。这很有帮助:)最后一个应该有一个,
,它曾经有一个-
。如果我想用月而不是天来计算差异呢?@SriVastav:我已经添加了我的答案,只是做了一些小的修改。谢谢。。。我真的很喜欢最后一个问题。这很有帮助:)最后一个应该有一个,
,它曾经有一个-
。如果我想用月而不是天来计算差异呢?@SriVastav:我已经添加了我的答案,只是做了一些小的修改。谢谢。。。我真的很喜欢最后一个问题。这很有帮助:)最后一个应该有一个,
它曾经有一个-
。如果我希望以月为单位而不是以天为单位,那该怎么办?@SriVastav:我已经添加了我的答案,但做了一些小修改。我希望以月为单位而不是以天为单位……我能做什么?我希望以月为单位而不是以天为单位……我能做什么?我想做什么以月为单位而不是以天为单位……我能做什么?