假设我有一个名为 wx_data 的表格,其中包含以下数据(这里的温度并不准确对应日期和城市):
我希望修改查询,使其返回上述结果,但仅返回状态从低到高或相反的行。 因此,我不想看到连续几天为低或高条件返回的数据。
你该如何做呢?
澄清一下,现在我的查询返回以下数据:
我希望只返回城市状态从“高”到“低”或从“低”到“高”变化的行,如果查询正确,则应返回以下9行。
请查看http://www.sqlfiddle.com/#!2/384fb/1,可以看到有关数据和查询结果的示例。
city, wx_date, avg_temp
Kansas City, 2012-11-01, 28
Kansas City, 2012-11-02, 42
Kansas City, 2012-11-03, 86
Kansas City, 2012-11-04, 39
Kansas City, 2012-11-05, 27
Kansas City, 2012-11-06, 65
Kansas City, 2012-11-07, 62
Kansas City, 2012-11-08, 55
Kansas City, 2012-11-09, 95
Kansas City, 2012-11-10, 90
Kansas City, 2012-11-11, 29
Saint Louis, 2012-11-01, 88
Saint Louis, 2012-11-02, 42
Saint Louis, 2012-11-03, 30
Saint Louis, 2012-11-04, 60
Saint Louis, 2012-11-05, 85
Saint Louis, 2012-11-06, 65
Saint Louis, 2012-11-07, 62
Saint Louis, 2012-11-08, 32
Saint Louis, 2012-11-09, 80
Saint Louis, 2012-11-10, 80
Saint Louis, 2012-11-11, 33
我有一个查询,可以确定每个城市的最大值和最小值,并根据给定日期的温度是否在数据集中观察到的最高或最低温度的15%内,返回标记为“Low”和“High”的行。
select
temp.city,
wx_date,
avg_tmp,
if(avg_tmp >=.85*temp.High, "High", "Low")
from
wx_data
inner join (select city,
Min(avg_tmp) as Low,
Max(avg_tmp) as High
from
wx_data
where
wx_date between '2012-11-02' and '2013-12-01'
group by city) as temp
on wx_data.city=temp.city
where
avg_tmp >= .85 * temp.High
or avg_tmp <= 1.15 * temp.Low
order by
city,
wx_date;
我希望修改查询,使其返回上述结果,但仅返回状态从低到高或相反的行。 因此,我不想看到连续几天为低或高条件返回的数据。
你该如何做呢?
澄清一下,现在我的查询返回以下数据:
Kansas City November, 01 2012 28 Low
Kansas City November, 03 2012 86 High
Kansas City November, 04 2012 29 Low
Kansas City November, 05 2012 27 Low
Kansas City November, 09 2012 95 High
Kansas City November, 10 2012 90 High
Kansas City November, 11 2012 29 Low
Saint Louis November, 01 2012 33 Low
Saint Louis November, 02 2012 88 High
Saint Louis November, 03 2012 87 High
Saint Louis November, 05 2012 85 High
Saint Louis November, 08 2012 32 Low
Saint Louis November, 09 2012 80 High
Saint Louis November, 10 2012 80 High
Saint Louis November, 11 2012 33 Low
我希望只返回城市状态从“高”到“低”或从“低”到“高”变化的行,如果查询正确,则应返回以下9行。
Kansas City November, 01 2012 28 Low
Kansas City November, 03 2012 86 High
Kansas City November, 04 2012 29 Low
Kansas City November, 09 2012 95 High
Kansas City November, 11 2012 29 Low
Saint Louis November, 02 2012 88 High
Saint Louis November, 08 2012 32 Low
Saint Louis November, 09 2012 80 High
Saint Louis November, 11 2012 33 Low
请查看http://www.sqlfiddle.com/#!2/384fb/1,可以看到有关数据和查询结果的示例。