gpt4 book ai didi

sql - "Simple"SQL查询

转载 作者:行者123 更新时间:2023-12-02 07:57:04 25 4
gpt4 key购买 nike

我的每个客户都可以有很多待办事项,每个待办事项都有截止日期。

要根据每个文件的截止日期发现下一个未完成的待办事项,查询是什么?如果客户有多个待办事项,则 ID 最低的是正确的。

假设以下最小模式:

clients (id, name)

todos (id, client_id, description, timestamp_due, timestamp_completed)

谢谢。

最佳答案

我还没有测试过,所以你可能需要调整它:

SELECT
TD1.client_id,
TD1.id,
TD1.description,
TD1.timestamp_due
FROM
Todos TD1
LEFT OUTER JOIN Todos TD2 ON
TD2.client_id = TD1.client_id AND
TD2.timestamp_completed IS NULL AND
(
TD2.timestamp_due < TD1.timestamp_due OR
(TD2.timestamp_due = TD1.timestamp_due AND TD2.id < TD1.id)
)
WHERE
TD2.id IS NULL

您不是在尝试排序和聚合,而是在回答“在这之前还有其他待办事项吗?”的问题。 (基于您对“之前”的定义)。如果没有,那么这就是您想要的。

这应该适用于大多数 SQL 平台。

关于sql - "Simple"SQL查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/246870/

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