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帮帮忙吧
这样试了~用AND以后 本来只有大风是32766,但是其他资料有数据就不参与计算了,这整一行数据没有了
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 站号, 年, 月
(高温 <>32766) OR
(低温 <>32766) OR
(均压 <>32766) OR
(高压 <>32766) OR
(低压 <>32766) OR
(相对湿度 <>32766) OR
(均风 <>32766) OR
(大风 <>32766)表示只需满足一个字段<>32766,则该条就参与统计,但是这样得话不保证其它得字段也<>32767啊,不知道你想怎么样