【发布时间】:2015-12-10 06:30:37
【问题描述】:
我是 SQL 新手,所以这个问题-
我的表中有一个DATE 列,我的查询应该使用最新的DATE 获取值。我意识到我可以通过以下任何一种方式来实现它-
SELECT TRUNC(MAX(createddatetm)) cdt FROM (SELECT TO_TIMESTAMP(TO_CHAR(createddate, 'Month dd, yyyy hh:mi AM'), 'Month dd, yyyy hh:mi AM') as createddatetm FROM comments WHERE commentid = '1234');SELECT trunc(MAX(TO_TIMESTAMP(to_char(createddate, 'Month dd, yyyy hh:mi AM'), 'Month dd, yyyy hh:mi AM'))) FROM (SELECT createddate FROM comments WHERE commentid = '1234');SELECT TRUNC(MAX(createddatetm)) cdt FROM (SELECT TO_CHAR(createddate, 'Month dd, yyyy hh:mi AM') as createddatetm FROM comments WHERE commentid = '1234');SELECT trunc(MAX(to_char(createddate, 'Month dd, yyyy hh:mi AM'))) FROM (SELECT createddate FROM comments WHERE commentid = '1234');
这是我的问题-
有没有其他更简单的方法可以实现这一目标?或者我应该使用我已经提到的任何这些?另外,这些查询在性能方面有什么区别吗?我不认为有,但我需要确认一次。
【问题讨论】:
标签: sql oracle date greatest-n-per-group