SELECT AVG(score) AS avg_score, st.name
FROM firstTable AS ft
LEFT JOIN secondTable AS st
ON ft.dog_id = st.dog_id
WHERE (SELECT COUNT(ft.dog_id) FROM firstTable) > 1
GROUP BY dog_id
where 子句似乎沒有做任何事情。這是為什么?- 我基本上是在嘗試只向在第一個表中出現多次的狗輸出平均分數

uj5u.com熱心網友回復:
您應該使用INNER連接,因為您只需要在兩個表中都匹配的狗并在HAVING子句中添加條件:
SELECT AVG(ft.score) AS avg_score, st.name
FROM secondTable AS st INNER JOIN firstTable AS ft
ON ft.dog_id = st.dog_id
GROUP BY st.dog_id
HAVING COUNT(*) > 1;
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/402973.html
標籤:
上一篇:PySpark-在不使用UDF或連接的情況下創建多個聚合地圖列
下一篇:將集合的集合轉換為范圍
