gpt4 book ai didi

mysql - SQL:获取与日期时间最近的 N 行

转载 作者:太空宇宙 更新时间:2023-11-03 11:22:02 25 4
gpt4 key购买 nike

考虑一个包含 session 数据的表,每个 session 都与主 session 相关联。示例:

meeting_id | master_meeting_id | start_at              |
1sq | a | 2019-01-03 11:30:00 |
2cd | b | 2019-01-01 10:30:00 |
3as | a | 2019-02-03 11:30:00 |
4cd | d | 2019-02-03 12:30:00 |
dw5 | a | 2019-03-03 11:30:00 |
6ds | a | 2019-04-03 11:30:00 |

SQL fiddle :http://sqlfiddle.com/#!9/79638a/1

给定 meeting_id,如何在 单个 SQL 查询中获取与同一 master_meeting_id 关联的最近(按 start_at) session ?

示例:

输入:

meeting_id=3as

N=1

输出:

meeting_id | master_meeting_id | start_at              |
1sq | a | 2019-01-03 11:30:00 |
3as | a | 2019-02-03 11:30:00 |
dw5 | a | 2019-03-03 11:30:00 |

注意:我用的是MySQL

到目前为止我尝试过的:使用两个 SQL 查询,一个在 start_at 之后获取相关行,另一个在 start_at 之前使用限制获取行

编辑:编辑了 start_at 的实际表值编辑 2:添加了 SQL Fiddle

最佳答案

您不清楚“最近的 session ”是什么意思。我假设您需要最接近给定 session ID 的 session 。此查询将返回它:

SELECT m2.*
FROM meetings m1
JOIN meetings m2 ON m1.master_meeting_id = m2.master_meeting_id
WHERE m1.id = "given meeting ID"
ORDER BY ABS(UNIX_TIMESTAMP(m1.start_at) - UNIX_TIMESTAMP(m2.start_at))

关于mysql - SQL:获取与日期时间最近的 N 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58952160/

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