gpt4 book ai didi

sql - mysql连接创建缺失日期的表

转载 作者:行者123 更新时间:2023-11-30 23:39:23 25 4
gpt4 key购买 nike

不确定如何正确执行此操作。我整个早上都在搞乱 JOINS。我所能得到的只是日期范围,但日期只是重复应该为空白的日期。

这是一个基本的查询

SELECT `time`,`protocal`,(`octet`/1024) as `octet10243`,`percent`,`div`,FROM_UNIXTIME(`time`, '%Y-%m-%d') as `newtime3` FROM ipport
WHERE FROM_UNIXTIME(`time`, '%Y-%m-%d') >= '2011-01-05' AND FROM_UNIXTIME(`time`, '%Y-%m-%d') <= '2011-01-08' AND (`protocal` = 'Echo' ) AND `div` = 'XDIV'

这是结果。

"time";"protocal";"octet10243";"percent";"div";"newtime3"
"1290923100";"Echo";"92844.07421875";"1.04435";"XDIV";"2011-01-06"
"1291009500";"Echo";"95110.106445312";"1.0796";"XDIV";"2011-01-07"

我有另一个表,日期从 2011-01-01 到 2011-01-17。我用它来加入。

这就是我要找的结果。

"time";"protocal";"octet10243";"percent";"div";"newtime3"
"0";"Echo";"0";"0";"XDIV";"2011-01-05"
"1290923100";"Echo";"92844.07421875";"1.04435";"XDIV";"2011-01-06"
"1291009500";"Echo";"95110.106445312";"1.0796";"XDIV";"2011-01-07"
"0";"Echo";"0";"0";"XDIV";"2011-11-08"

这是我在 JOINing 中积累的尝试...

SELECT makeupdate.date, FROM_UNIXTIME(ipport.time, '%Y-%m-%d'),`time`,`protocal`,(`octet`/1024) as `octet10243`,`percent`,`div`,FROM_UNIXTIME(`time`, '%Y-%m-%d')
as `newtime3` FROM ipport JOIN makeupdate ON FROM_UNIXTIME(ipport.time, '%Y-%m-%d') >= '2011-01-05'
AND FROM_UNIXTIME(ipport.time, '%Y-%m-%d') <= '2011-01-08' AND (`protocal` = 'Echo' ) AND `div` = 'XDIV'

感谢帮助

最佳答案

从您的日期表开始,然后左连接到您的 ipport 表,这样您就可以将日期表中的所有行与 ipport 表中的匹配行结合起来。

SELECT m.date, FROM_UNIXTIME(i.time, '%Y-%m-%d'),`time`,`protocal`,(`octet`/1024) as `octet10243`,`percent`,`div`,FROM_UNIXTIME(`time`, '%Y-%m-%d') as `newtime3` 
FROM makeupdate m
LEFT JOIN ipport i
on m.date = FROM_UNIXTIME(ipport.time, '%Y-%m-%d')
AND (`protocal` = 'Echo' )
AND `div` = 'XDIV'
WHERE m.date >= '2011-01-05' AND m.date <= '2011-01-08'

关于sql - mysql连接创建缺失日期的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4716016/

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