gpt4 book ai didi

mysql - SQL查询可以做到这一点吗?

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

我有一个“audit”表,其中包含“description”列、“record_id”列和“record_date”列。我只想选择那些描述与两个可能字符串之一匹配的记录(例如,LIKE“NEW%”或 LIKE“ARCH%”),其中每个字符串中的 record_id 相互匹配。然后我需要计算彼此的 record_date 之间的天数差异。

例如,我的表可能包含:

id   description    record_id    record_date
1 New Sub 1000 04/14/13
2 Mod 1000 04/14/13
3 Archived 1000 04/15/13
4 New Sub 1001 04/13/13

我只想选择第 1 行和第 3 行,然后计算 4/15 和 4/14 之间的天数,以确定该记录从新建到存档 (1000) 需要多长时间。任何记录都必须同时存在新条目和存档条目才能对其进行计数(我不关心尚未存档的条目)。这有意义吗?是否可以在 SQL 查询中计算出来?除了基本的 SQL,我不知道太多。

我正在使用 MySQL Workbench 来执行此操作。

最佳答案

以下内容未经测试,但假设任何给定的 record_id 只能显示一次“New Sub”和“Archived”

select n.id as new_id
,a.id as archive_id
,record_id
,n.record_date as new_date
,a.record_date as archive_date
,DateDiff(a.record_date, n.record_date) as days_between
from audit n
join audit a using(record_id)
where n.description = 'New Sub'
and a.description = 'Archieved';

我从 OR 更改为 AND,因为我认为您只需要实际存档的记录之间的天数。

关于mysql - SQL查询可以做到这一点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16551427/

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