如果有人问我这个问题,我很抱歉。我搜索了很长时间,没有运气。
我的表名为RESULT -
DATE TEST_NUM RESULT_NUM
11/16/2010 09:27:11 AM 123456 123111
11/16/2010 09:27:11 AM 123456 123222
11/16/2010 09:27:11 AM 123456 123333
对于给定的TEST_NUM,我只想返回最大日期一次,并且其他列条目无关紧要 -
11/16/2010 09:27:11 AM 123456 123111
SELECT RESULT.DATE,
RESULT.RESULT_NUM,
RESULT.TEST_NUM
FROM RESULT
WHERE RESULT.TEST_NUM = 123456
AND RESULT.DATE = (SELECT MAX(R1.DATE)
FROM RESULT R1
WHERE r1.TEST_NUM = RESULT.TEST_NUM)
但是你猜对了,我没有得到1个结果 - 我得到了全部三个。我已经尝试了一切!请帮助这个新手!
答案 0 :(得分:5)
获取最长日期:
SELECT MAX(RESULT.DATE) FROM RESULT
要获取包含最大日期的任何一行的整行:
SELECT * FROM
(
SELECT *
FROM RESULT
WHERE RESULT.TEST_NUM = 123456
ORDER BY RESULT.DATE DESC
)
WHERE rownum = 1
答案 1 :(得分:1)
更新: -
select max(DATE) from RESULT where RESULT.TEST_NUM = 123456 group by RESULT.TEST_NUM
这是一个例子 -
select id,max (date_column) from your_table group by id
其中id是您想要最大日期值的列,这将为您提供许多日期条目中该表中id的每个唯一条目的最大日期,因为我的理解是您有多个日期,并希望最大。
答案 2 :(得分:0)
为什么这不起作用
SELECT MAX(DATE) FROM TABLE
答案 3 :(得分:0)
SELECT date_column FROM table GROUP BY date_column HAVING COUNT(*)> 1 ORDER BY date_column DESC LIMIT 1
这将返回非唯一的最高date_column(ORDER BY date_column DESC)(HAVING COUNT(*)> 1)
答案 4 :(得分:0)
select distinct max(date_column)
into variable
from table
where condition;
添加distinct将确保如果数据相同则只返回一条记录。