我在表格中有日期栏
ColumnName: event_timestamp
2015-06-01 15:23:31.000
2015-06-01 15:25:21.000
2015-06-03 09:00:41.000
2015-06-03 09:14:49.000
2015-06-03 09:15:03.000
2015-06-03 09:15:23.000
2015-06-06 08:40:06.000
2015-06-06 08:40:19.000
2015-06-06 11:13:35.000
2015-06-06 11:13:53.000
2015-06-06 11:15:04.000
2015-06-06 11:15:30.000
2015-06-09 15:08:13.000
2015-06-09 15:08:33.000
2015-06-09 15:08:45.000
2015-06-09 15:09:05.000
预期产出
2015-06-06
2015-06-09
我试过但失败了
SELECT CONVERT(datetime,MAX(myDate),103),
(MAX(CONVERT(datetime,mydate,103)))-1 as DT
FROM (
SELECT DISTINCT (CONVERT(VARCHAR,events.event_timestamp, 103)) myDate
FROM events
Where event_timestamp Between '01-Jun-15 11:14:40 AM'
AND '11-Jun-15 11:14:40 AM'
) tbl
答案 0 :(得分:3)
使用Group By和Order By Clause with Desc然后获取前2条记录
Select TOP 2 CONVERT(date, datecol)
From #t
Group By CONVERT(date, datecol)
Order By CONVERT(date, datecol) Desc
答案 1 :(得分:2)
你可以这样做:
FIRST
答案 2 :(得分:0)
执行此操作的简单方法是执行“GROUP BY”和“LIMIT 2”。您将希望按日期分组(记住忽略时间),然后将结果限制为2.以下是两者的链接。
极限:http://www.w3schools.com/sql/sql_top.asp GROUP BY:https://dev.mysql.com/doc/refman/5.5/en/group-by-handling.html