gpt4 book ai didi

MySQL查询风玫瑰图数据

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

我目前有一个名为“观察”的表,该表每分钟更新一次,其中包含以下字段(以及其他字段);

time                  wind_speed_kn     wind_dir_deg
2014-12-13 13:34:22 12.3 23
2014-12-13 13:35:17 9.5 55
2014-12-13 13:36:32 12.7 288
...

我有一个执行以下查询的 php 循环

set time_zone = "+9:30";
select speed_range, count(*) as count from
(SELECT CASE
WHEN max_gust_kn < 0.1 THEN '0'
WHEN max_gust_kn > 0.1 and max_gust_kn <= 5 THEN '0-5'
WHEN max_gust_kn > 10 and max_gust_kn <= 15 THEN '10-15'
WHEN max_gust_kn > 15 and max_gust_kn <= 20 THEN '15-20'
WHEN max_gust_kn > 20 THEN '>20'
END as speed_range from observations
where (wind_dir_deg > 303.75 and wind_dir_deg < 326.25) and date(time) = date(now()))
as wind_summaries group by speed_range

每次通过 php 循环,度数测试都会发生变化,因此我会得到罗盘上每个点的结果(N、NNE、NE、ENE 等)

这基本上工作正常..除了我有时会得到一些 NULL 结果,这些结果会扰乱我的索引。例如,如果我现在针对罗盘点之一运行它,我会得到以下结果;

speed_range     count
NULL 6
0 445
0-5 58

当我渲染 Windrose 时,我将每个方向的第一个索引计算为“平静”或“0”,但这个空值将其搞乱,并且以下索引......

知道查询出了什么问题以及如何消除这些 NULL 值吗?我不太了解 sql,只是从这里复制了示例以使查询完全正常工作...

windrose的最终结果可以在 http://weather.stormpilgrim.com/windrose.php 中看到如果你想看看我想要实现什么目标。我认为除了这个查询之外,一切都很好。

最佳答案

NULL 值可能是由超出 case 语句的值引起的。这是带有 case 语句的子查询:

SELECT (CASE WHEN max_gust_kn < 0.1 THEN '0' 
WHEN max_gust_kn > 0.1 and max_gust_kn <= 5 THEN '0-5'
WHEN max_gust_kn > 10 and max_gust_kn <= 15 THEN '10-15'
WHEN max_gust_kn > 15 and max_gust_kn <= 20 THEN '15-20'
WHEN max_gust_kn > 20 THEN '>20'
END) as speed_range
from observations
where (wind_dir_deg > 303.75 and wind_dir_deg < 326.25) and date(time) = date(now())

问题肯定是 max_gust_kn 可能是 NULL。您可以将此作为有效值:

SELECT (CASE WHEN max_gust_kn < 0.1 THEN '0' 
WHEN max_gust_kn > 0.1 and max_gust_kn <= 5 THEN '0-5'
WHEN max_gust_kn > 10 and max_gust_kn <= 15 THEN '10-15'
WHEN max_gust_kn > 15 and max_gust_kn <= 20 THEN '15-20'
WHEN max_gust_kn > 20 THEN '>20'
ELSE 'Missing'
END) as speed_range

或者更改 where 以排除这种可能性:

where (wind_dir_deg > 303.75 and wind_dir_deg < 326.25) and
max_gust_kn >= 0 and
date(time) = date(now())

关于MySQL查询风玫瑰图数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27538186/

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