gpt4 book ai didi

mysql - 根据不同的where条件在select查询中获取两个值并将它们相减

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

我有一张看起来像这样的 table 。同一个 id1 可以有多个具有不同操作值的行。然而,一个 id1 可以有一个“opened”值和一个“merged”值(并非所有 id1 都会有一行具有“merged”值,但每个 id 都保证具有“opened”值)

id_1    id2 id3     action      time                ext_id    
8131201 2 345886 opened 2012-01-19 00:24:55 5099318b1b66c0d7b200000c
8510820 2 345886 merge 2012-01-26 09:20:17 5099318b1b66c0d7b200000d

对于那些具有“合并”值的 id1,我想获取它在单个查询中打开和合并之间的时间差。这怎么可能?

最佳答案

您可以通过自连接来完成此操作:

SELECT t.id_1, TIMEDIFF(t.time, t2.time) AS time_difference
FROM t
INNER JOIN t t2 ON t.id_1 = t2.id_1
WHERE t.action = 'opened'
AND t2.action = 'merge

所以基本上将表与 id 1 上的表连接起来,其中第一个记录被打开,第二个记录被合并。然后使用 TIMEDIFF 查找表的每个副本的时间差异。

关于mysql - 根据不同的where条件在select查询中获取两个值并将它们相减,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48256997/

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