gpt4 book ai didi

PostgreSQL 数据选择

转载 作者:行者123 更新时间:2023-11-29 14:25:03 25 4
gpt4 key购买 nike

是否可以编写 PostgreSQL 代码来查看示例数据,仅选择整个第一季度(01/01/2018 至 03/31/2018)活跃的人员,如所需输出所示?请注意不应选择人员 H,因为他们缺少 January。

示例数据

    Person  Start Date  End Date
A 1/1/2018 1/31/2018
A 2/1/2018 2/28/2018
A 3/1/2018 3/31/2018
B 1/1/2018 2/28/2018
C 1/1/2018 2/28/2018
C 3/1/2018 3/31/2018
D 2/1/2018 3/31/2018
E 2/1/2018 2/28/2018
F 1/1/2018 3/31/2018
G 1/1/2018 4/30/2018
H 2/1/2018 4/30/2018

期望的输出

    Person
A
C
F
G

最佳答案

假设您的列是正确的 DATE 列并且没有重叠,您可以这样做:

select person
from the_table
group by person
having sum(end_date - start_date + 1) >= date '2018-03-31' - date '2018-01-01' + 1
order by person;

从另一个日期 中减去这两个日期之间的天数。然后将所有差异的总和与该季度的开始日期和结束日期之间的差异进行比较。

在线示例:https://rextester.com/OIN10602

关于PostgreSQL 数据选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58771396/

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