【发布时间】:2016-09-03 17:00:32
【问题描述】:
我想在mysql中获取每天的最后一条记录。Location<id, date, place_id> 表每天都有多个条目。此 Location 表具有 place_id 和插入 place_id 的时间。
还要考虑如果 place_id 不存在,则返回具有 place_id 的倒数第二个记录。在NULL, '2016-04-06 18:52:06' 记录的下表中,我们返回'13664', '2016-04-06 12:57:30',它是“2016-04-06”(3 月 6 日)的倒数第二个记录,并且具有 place_id。
还有一点,单日会有更多place_id,见下表..
id || place_id || date
'1', '47', '2016-04-05 18:09:37'
'2', '48', '2016-04-05 12:09:37'
'3', '13664', '2016-04-06 12:57:30'
'4', '9553', '2016-04-08 10:09:37'
'5', NULL, '2016-04-06 18:52:06'
'6', '9537', '2016-04-07 03:34:24'
'7', '9537', '2016-04-07 03:34:24'
'8', '656', '2016-04-07 05:34:24'
'9', '7', '2016-04-07 05:34:57'
当我运行以下查询时,它会返回以下结果
查询我运行以下查询,但结果错误
`Location<id, place_id, date>`
select L1.place_id, L1.date from
Location1 L1
Left join
Location1 L2
on
Date(L1.date) = Date(L2.date)
And
L1.date < L2.date
where
L2.date is null
group by L1.date;
我想要的结果:
id....place_id ........date
'1', '47', '2016-04-05 18:09:37'
'3', '13664', '2016-04-06 12:57:30'
'4', '9553', '2016-04-08 10:09:37'
'9', '7', '2016-04-07 05:34:57'
【问题讨论】:
标签: mysql