我有三张桌子
id name
1 ali
2 reza
Run Code Online (Sandbox Code Playgroud)
id title
1 math
2 litrature
Run Code Online (Sandbox Code Playgroud)
id courseid teacherid grade
1 1 1 20
2 2 1 10
3 1 2 17
Run Code Online (Sandbox Code Playgroud)
teacherid avg(grade)
1 15
2 17
Run Code Online (Sandbox Code Playgroud)
我尝试了一些东西,但没有用
你真正需要做的是SELECT
从gradetbl
,应用AVG
聚合函数比grade
,然后GROUP BY
将teacherid
像这样:
SELECT teacherid, AVG(grade)
FROM gradetbl
GROUP BY teacherid;
Run Code Online (Sandbox Code Playgroud)
对于您指出的结果,根本不需要使用 a JOIN
。JOIN
当您想要获取与 关联的数据时,您只需要使用 a teacherid
:
SELECT t.name, AVG(g.grade)
FROM gradetbl AS g
JOIN teacher as t
ON t.id = g.teacherid
GROUP BY t.name;
Run Code Online (Sandbox Code Playgroud)
您应该查看SELECT、GROUP BY和AVG的文档以获取完整示例和常见用法的解释。
归档时间: |
|
查看次数: |
9528 次 |
最近记录: |