下面的代码正在为我创建一个如下表:
SELECT reviews.style_id, AVG("col1"), AVG("col2")
FROM reviews, audios
WHERE reviews.consumer_id = audios.consumer_id
GROUP BY style_id
所以我的问题是我想平均col1
and col2
,而不用担心 NULL 值,因为它们不会存在于我的表中。但是,我确实需要维护连接的逻辑。谢谢!
下面的代码正在为我创建一个如下表:
SELECT reviews.style_id, AVG("col1"), AVG("col2")
FROM reviews, audios
WHERE reviews.consumer_id = audios.consumer_id
GROUP BY style_id
所以我的问题是我想平均col1
and col2
,而不用担心 NULL 值,因为它们不会存在于我的表中。但是,我确实需要维护连接的逻辑。谢谢!
这是你想要的吗?
SELECT reviews.style_id,
(AVG("col1") + AVG("col2")) / 2.0
FROM reviews, audios
WHERE reviews.consumer_id = audios.consumer_id
GROUP BY style_id
作为已接受答案的替代方案,并基于 OP 在评论中的澄清:
SELECT reviews.style_id,
Avg((col1+col2)*0.5)
FROM reviews
INNER JOIN audios
ON reviews.consumer_id = audios.consumer_id
GROUP BY reviews.style_id
这种逐行平均值的平均col1
和col2
将给出相同的结果。