2014-01-06 149 views
0

我有一个表格,这是一个带有时间的日期列表。例如从日期列表中选择最大不同日期

日期

1/3/2014 6:16:43.570 AM 
1/3/2014 6:17:02.300 AM 
1/3/2014 6:23:09.700 AM 
1/6/2014 6:02:09.993 AM 
1/6/2014 6:02:34.323 AM 
1/6/2014 6:03:02.957 AM 
1/6/2014 6:08:48.867 AM 
1/6/2014 6:09:04.917 AM 

我想直到结束是:

1/3/2014 6:23:09.700 AM 
1/6/2014 6:09:04.917 AM 

因为这些是每个日期最近的时间。

任何帮助将不胜感激。

回答

3
SELECT MAX(datetime) 
FROM Dates 
GROUP BY DATE(datetime) 
+0

因此,我假定datetime是具有所有日期的列名称,“Dates”是表名称。但是,我收到DATE不是内置函数名称的错误。如果这很重要,我正在使用Embarcadero Rapid SQL 7.6.4。 – user3166440

+0

是的,这很重要。我的答案是MySQL。 'DATE'采用日期时间并返回日期部分。你必须在你的数据库管理系统中找到相同的功能,我不熟悉它。 – Barmar

+0

感谢您的帮助到目前为止 – user3166440

0

您可以使用group by或row number。这里是行号,向您展示另一种方式来做到这一点。 (因为其他人已通过示例显示该组)

SELECT d 
FROM 
(
    SELECT d, 
      row_number() OVER (PARTITION BY convert(date,d) ORDER BY d DESC) as rownum 
    FROM Dates 
) t 
WHERE rownum = 1 
相关问题