我有一个数据库,其中包含如下所述的关系表。我想获得每个客户给出的每种产品的平均分数,如所需的输出所示。
“GRP”
g_id g_name
1 Ag.f
2 Gh.h
“customers”,其中c_g_id引用“grp”中的g_id
c_id c_name g_id
"1" "DA" "1"
"2" "AŠ" "1"
"3" "EK" "1"
"4" "PK" "1"
"5" "DD" "2"
"6" "AA" "2"
"7" "EE" "2"
“products”,其中g_id引用“grp”中的g_id
m_id sequence_no g_id name
"1" "1" "1" "product1"
"2" "2" "1" "product2"
"3" "3" "1" "product3"
"4" "1" "2" "p1"
"5" "2" "2" "p2"
“得分”
c_id引用“客户中的c_id” m_id引用“products”中的m_id
score_id customer_name c_id m_id score
"1" "DA" "1" "1" "2"
"2" "DA" "1" "2" "2"
"3" "DA" "1" "3" "2"
"4" "AŠ" "2" "1" "3"
"5" "AŠ" "2" "2" "2"
"6" "AŠ" "2" "3" "3"
"7" "EK" "3" "1" "2"
"8" "EK" "3" "2" "3"
"9" "EK" "3" "3" "1"
"10" "PK" "4" "1" "2"
"11" "PK" "4" "2" "3"
"12" "PK" "4" "3" "1"
"13" "DD" "5" "4" "2"
"14" "DD" "5" "5" "2"
"15" "AA" "6" "4" "3"
"16" "AA" "6" "5" "2"
"17" "EE" "7" "4" "2"
"18" "EE" "7" "5" "3"
期望的输出:
sequence_no g_id name avg.score
1 1 "product1" (2+3+2+2)/4
2 1 "product2" (2+2+3+3)/4
3 1 "product3" (2+3+1+1)/4
答案 0 :(得分:1)
你可以使用avg功能和分组
select products.name, products.g_id, avg(score)
from scores
inner join products on products.m_id = scores.m_id
group by products.name, products.g_id
如果您需要一些相关的列
,最终可以加入其他表