Php 平均评级计算

Php 平均评级计算,php,mysql,Php,Mysql,我想计算每个用户的平均评分 我有三张桌子 表额定值 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 | te

我想计算每个用户的平均评分

我有三张桌子

表额定值

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\u id=订单表id和订单表did=驱动程序表id

id |did
------------------
52  | 5 
51  | 7 
35  | 6 
44  | 8 
这意味着

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

尝试使用构造性字段名。您对所有三个表都有ID,只是让事情变得混乱。我已经更新了我的问题,这里的问题是driver table ID@AzizSalehsee我简要描述了一下。我会理解您想要什么,按用户进行gourp是不可能的?