2011-12-22 46 views
1

表“测试”错误在得到相应的最大值的日期时间

+------+--------------------+ 
|value | dateTime  | 
+------+--------------------+ 
|19 |2011-12-22 11:09:42 | 
+------+--------------------+ 
|16 |2011-12-22 05:09:00 | 
+------+--------------------+ 
|2  |2011-12-22 07:09:42 | 
+------+--------------------+ 
|30 |2011-12-22 10:09:15 | 
+------+--------------------+ 
|45 |2011-12-22 03:09:42 | 
+------+--------------------+ 

我想获得的最大值及其对应的日期时间。在这种情况下,最终结果应该是:最大值:45和dateTime:2011-12-22 03:09:42。我用

SELECT MAX(`value`) , `dateTime` 
FROM `test` 

运行上面的SQL语句之后,最大的“价值”是正确的(即45),但“日期时间”是不正确的(ie2011-12-22 11时09分19秒)

有没有人可以帮助我?非常感谢!

回答

2
-- general 
select * 
from test 
where value= (select max(value) from test) 

--tsql 
select top 1 * 
from test 
order by value desc 

--mysql 
select * 
from test 
order by value desc 
limit 1; 
+0

的OP是寻找最大价值,而不是最大的datetime :) – Andomar 2011-12-22 11:45:26

+0

@Andomar没有,OP是寻找最大价值和相应的日期时间,所以查询应产生所需的输出。 – 2011-12-22 11:48:02

+0

错误,更正:-)。 – 2011-12-22 11:49:21

3

试试这个:

SELECT TOP 1 `value`, `dateTime` 
FROM `test` 
ORDER BY `value` DESC 
相关问题