我一直在努力为一组相同的 fix_ids 值选择一个平均值,在另一列上有最大值,最终有人帮助了我,我得到了这段代码
select fix_id
, timestamp
, avg(age)
from t
where age > 0
and timestamp =
(select max(t2.timestamp)
from t t2
where t2.fix_id = t.fix_id)
group by fix_id;
这完全符合预期,但是,我需要为多个列选择相同的平均值,我想知道是否有一种方法可以在一个查询中执行此操作。我可以
avg(age),avg(height)
但是由于我跳过了年龄列高度为 0 的行,因此这些行将丢失。
撒科打诨