gpt4 book ai didi

php - 获取最后插入的事件

转载 作者:可可西里 更新时间:2023-11-01 09:00:41 24 4
gpt4 key购买 nike

以下是我的数据库表条目:

 id    cid     data_ref_id   event_type_id  event_handle     event_datetime

1 235 1 162 Test description 2016-08-14
2 235 1 162 Test1 description 2016-08-15
3 235 1 162 Test2 description 2017-05-01
4 235 1 162 Test3 description 2017-05-12

在显示 2 的事件条目时,它应该将事件 1 event_datetime 显示为过去的事件条目。对于事件条目 4,它应该将事件 3 event_datetime 显示为过去的事件条目等等……sql 有什么方法可以获取这样的记录吗?

最佳答案

假设 id 是“entries”表中的 PRIMARY KEY 或 UNIQUE KEY,并假设“previous”event_datetime 基于 id 值(来自行 id =1 for row id=2, from row id=3 for row id=4), 这样的事情会从“前”行返回 event_datetime...

SELECT e.id
, e.event_datetime
, ( SELECT p.event_datetime
FROM entries p
WHERE p.id < e.id
ORDER BY p.id DESC
LIMIT 1
) AS prev_event_datetime
FROM entries e
ORDER BY e.id

如果“上一个”event_datetime是基于event_datetime的值而不是id,那么相关子查询可以使用event_datetime 列代替 id

SELECT e.id
, e.event_datetime
, ( SELECT p.event_datetime
FROM entries p
WHERE p.event_datetime < e.event_datetime
ORDER BY p.event_datetime DESC
LIMIT 1
) AS prev_event_datetime
FROM entries e
ORDER BY e.id

此处提供了两个选项,因为规范不明确。我们是否希望 row id=1 作为 row id=2 的“previous”,因为那是之前的 id... 或者我们获取该行是因为 row id=1 恰好具有最新的 event_datetime 早于行 id=2 上的 event_datetime。不清楚。

关于php - 获取最后插入的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43714298/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com