gpt4 book ai didi

mysql select all 计算多行之间的差异到数据透视表的结果

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

我在 SQL Fiddle 上有一个来自根表的数据透视表,此链接:pivot operation

在这里,我尝试计算“Arbeitszeit”、“Arbeitsende”之间以及“Projektzeit”和“Projektende”之间的差异。

问题是,如果有多个值,则计算不起作用,如下所示:

19.06.2013 07:27:27,19.06.2013 09:08:58

我需要单独的数据,或者在最好的情况下,合并数据以查看差异的结果。

不可能以任何其他方式获取根数据,因为这是由接口(interface)生成的-

最佳答案

我假设数据是以串联的形式出现的——而不是你创建的。您可以使用 substring_index()reverse() 以及生成数字的表格来取消连接它。

以下查询撤消连接,然后将结果组合在一起:

select t.*,
sum(HOUR(TIMEDIFF(STR_TO_DATE(Arbeitsbeginn, '%d.%m.%Y %H:%i:%s'), STR_TO_DATE(Arbeitsende, '%d.%m.%Y %H:%i:%s')))) AS ARBEITSZEIT,
sum(HOUR(TIMEDIFF(STR_TO_DATE(Projektbeginn, '%d.%m.%Y %H:%i:%s'), STR_TO_DATE(Projektbeginn, '%d.%m.%Y %H:%i:%s')))) AS Projektzeit
FROM (select DriverName,
(case when n.n = 1 then substring_index(arbeitsbeginn, ',', 1)
else reverse(substring_index(REVERSE(substring_index(arbeitsbeginn, ',', 2)), ',', 1))
end) as arbeitsbeginn,
(case when n.n = 1 then substring_index(arbeitsende, ',', 1)
else reverse(substring_index(REVERSE(substring_index(arbeitsende, ',', 2)), ',', 1))
end) as arbeitsende,
(case when n.n = 1 then substring_index(Projektbeginn, ',', 1)
else reverse(substring_index(REVERSE(substring_index(Projektbeginn, ',', 2)), ',', 1))
end) as Projektbeginn,
(case when n.n = 1 then substring_index(Projektbeginn, ',', 1)
else reverse(substring_index(REVERSE(substring_index(ProjektEnde, ',', 2)), ',', 1))
end) as ProjektEnde
from (SELECT DRIVERNAME,
GROUP_CONCAT(IF(ACTIONTEXT = 'Arbeitsbeginn', DATETIME, NULL)) AS 'Arbeitsbeginn',
GROUP_CONCAT(IF(ACTIONTEXT = 'Arbeitsende', DATETIME, NULL)) AS 'Arbeitsende',
GROUP_CONCAT(IF(ACTIONTEXT = 'PB', DATETIME, NULL)) AS 'Projektbeginn',
GROUP_CONCAT(IF(ACTIONTEXT = 'PE', DATETIME, NULL)) AS 'Projektende'
FROM geoImportRoot
GROUP BY DRIVERNAME
) A cross join
(select 1 as n union all select 2) n
) t
group by DriverName

关于mysql select all 计算多行之间的差异到数据透视表的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17235491/

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