[英]average rating calculation mysql php
我想計算每個用戶的平均評分。
我有三個桌子。
表等級
id |order_id |rate
------------------
1 | 52 |8
2 | 51 |4
3 | 52 |2
4 | 51 |7
表順序
這是驅動程序表ID
id |did
------------------
52 | 5
51 | 7
35 | 6
44 | 8
表驅動
id |name
------------------
5 | test1
7 | test2
8 | test3
6 | test4
我的SQL查詢是
select dr.name,AVG(drate.rate) from `rating` as drate,`order` as ord,`driver` as dr where ord.did=dr.id and drate.order_id=ord.id
我的查詢總是只給出一個結果。
在這里,我想從評分表中選擇平均匯率,但關系是評分表order_id =訂單表ID,而訂單表做了=駕駛員表ID
那意味着
order_id(rating table) |id(order table) |id(driver table) |rate
-------------------------------------------------------------------
52 | 52 |5 |avg(8,2)
51 | 51 |7 |avg(4,7)
如果order.did是用戶ID,則
select order.did, AVG(rate) from rating
join order on order.id = drate.id
group by order.did
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.