gpt4 book ai didi

php - 如何使用连接超过3个表来计算列数据

转载 作者:行者123 更新时间:2023-11-29 10:52:35 25 4
gpt4 key购买 nike

我有三张 table

tbl_product 
item_id | item_name

company_details
v_id | item_id | company_name

user_ratings
r_id | rate | v_id

我想统计费率并获取公司的费率。这是我的查询

SELECT  company_details.v_id,
company_details.company_name,
COUNT(user_ratings.rate) as vote,
user_ratings.rate,
tbl_product.item_name
FROM company_details
LEFT JOIN tbl_product ON tbl_product.item_id = company_details.item_id
LEFT JOIN user_ratings ON user_ratings.v_id = company_details.v_id
GROUP BY company_details.v_id, user_ratings.rate

这是我在执行此查询后得到的信息:

v_id  company_name           vote  rate  item_name  
1 The Oberoi Udaivilas 1 4 5 Star Hotels
1 The Oberoi Udaivilas 1 5 5 Star Hotels
2 The Taj Mahal Palace 2 5 4 Star Hotels
3 Rambagh Palace 1 5 3 Star Hotels
4 Taj Lake Palace 1 5 5 Star Hotels
5 Windflower Hall 1 3 2 Star Hotels
5 Windflower Hall 1 5 2 Star Hotels
6 Leela Palace Kempinski 0 n 4 Star Hotels
7 Umaid Bhawan Palace 0 n 4 Star Hotels
8 Hotel Ratan Vilas 0 n 4 Star Hotels
9 The Leela Palace 0 n 4 Star Hotels
10 The Imperial Hotel 0 n 3 Star Hotels

您可以看到投票栏没有计数。

这就是我所期待的

v_id  company_name          vote  rate  item_name   
1 The Oberoi Udaivilas 2 5 5 Star Hotels
2 The Taj Mahal Palace 2 5 4 Star Hotels

但此查询并未计算 user_ratings 的费率表,因为我也想获得汇率,如果我删除 user_ratings.rate来自select子句,那么这个查询就可以工作,但是当我添加 user_ratings.rate 时在 select子句,那么此查询不会将比率计算为(投票),而是在每次计数中返回一行。

最佳答案

您应该从 group by 子句中删除 user_ ratings.rate 并添加 tbl_product.item_name

SELECT
company_details.v_id,
company_details.company_name,
tbl_product.item_name,
COUNT(user_ratings.rate) as vote,
avg(user_ratings.rate) as rate
FROM
company_details
LEFT JOIN tbl_product ON tbl_product.item_id = company_details.item_id
LEFT JOIN user_ratings ON user_ratings.v_id = company_details.v_id
GROUP BY company_details.v_id, company_details.company_name, tbl_product.item_name;

关于php - 如何使用连接超过3个表来计算列数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43466733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com