能帮我看看哪里出问题了

superNANA_MUMU 2010-07-23 12:58:09

SELECT 站号, 年, 月, AVG(均温) / 10 AS 均温, AVG(相对湿度) AS 相对湿度, AVG(高温)
/ 10 AS 高温, AVG(低温) / 10 AS 低温, AVG(均压) / 10 AS 均压, AVG(高压) / 10 AS 高压,
AVG(低压) / 10 AS 低压, AVG(均风) / 10 AS 均风, AVG(大风) / 10 AS 大风
FROM 日对比差
WHERE (均温 <>32766) OR
(高温 <>32766) OR
(低温 <>32766) OR
(均压 <>32766) OR
(高压 <>32766) OR
(低压 <>32766) OR
(相对湿度 <>32766) OR
(均风 <>32766) OR
(大风 <>32766)
GROUP BY 站号, 年, 月


为什么,32766还是参与了计算结果
站号 年 月 均温 高温 低温 均压 高压 低压 相对湿度 均风 大风
51053 2005 12 0 0 0 0 0 0 0 0 0
51058 2006 1 0 3 0 0 0 0 0 0 3276
51058 2006 2 0 0 0 0 0 0 0 0 3276
51058 2006 3 0 0 0 0 0 0 0 105 3276


帮帮忙吧



...全文
71 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdnadmin 2010-07-24
  • 打赏
  • 举报
回复
(均温 <>32766) OR
(高温 <>32766) OR
(低温 <>32766) OR
(均压 <>32766) OR
(高压 <>32766) OR
(低压 <>32766) OR
(相对湿度 <>32766) OR
(均风 <>32766) OR
(大风 <>32766)

表示只需满足一个字段<>32766,则该条就参与统计,但是这样得话不保证其它得字段也<>32767啊,不知道你想怎么样
cheng20100915 2010-07-23
  • 打赏
  • 举报
回复
你给的数据全都是32766啊,要是全and当然会参与运算了.
永生天地 2010-07-23
  • 打赏
  • 举报
回复

SELECT 站号, 年, 月,
case when 均温 <>32766 then AVG(均温) / 10 else 0 end AS 均温,
case when 相对湿度 <>32766 then AVG(相对湿度) else 0 end AS 相对湿度,
case when 高温 <>32766 then AVG(高温) / 10 else 0 end AS 高温,
case when 低温 <>32766 then AVG(低温) / 10 else 0 end AS 低温,
case when 均压 <>32766 then AVG(均压) / 10 else 0 end AS 均压,
case when 高压 <>32766 then AVG(高压) / 10 else 0 end AS 高压,
case when 低压 <>32766 then AVG(低压) / 10 else 0 end AS 低压,
case when 均风 <>32766 then AVG(均风) / 10 else 0 end AS 均风,
case when 大风 <>32766 then AVG(大风) / 10 else 0 end AS 大风
FROM 日对比差
GROUP BY 站号, 年, 月
王向飞 2010-07-23
  • 打赏
  • 举报
回复
还是给点数据的好
王向飞 2010-07-23
  • 打赏
  • 举报
回复
(... and ....and ...and ..) or 大风<>32766
htl258_Tony 2010-07-23
  • 打赏
  • 举报
回复
看来是误解了,请提供一下测试数据和想要的结果
superNANA_MUMU 2010-07-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 htl258 的回复:]
逻辑问题。OR表示或者,当然会出现了。改AND
[/Quote]

[Quote=引用 2 楼 htl258 的回复:]
逻辑问题。OR表示或者,当然会出现了。改AND
[/Quote]

[Quote=引用 1 楼 htl258 的回复:]
逻辑问题。OR表示或者,当然会出现了。改AND
[/Quote]

这样试了~用AND以后 本来只有大风是32766,但是其他资料有数据就不参与计算了,这整一行数据没有了
htl258_Tony 2010-07-23
  • 打赏
  • 举报
回复
逻辑问题。OR表示或者,当然会出现了。改AND
王向飞 2010-07-23
  • 打赏
  • 举报
回复
因为你是OR 用AND 试试
Mr_Nice 2010-07-23
  • 打赏
  • 举报
回复
因为 OR 如果改成and 就不会出现了。

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧