mysql中的连接表
我正在开发一个业务审查系统。mysql中的连接表,mysql,Mysql,我正在开发一个业务审查系统。 业务表格已关闭- id category 1 1 2 1 3 1 4 2 查看表格- id bid reviewer_point 1 1 4 2 1 3 3 2 4 4 2 5 我需要返回按类别筛选的最高评级(基于平均评级点)业务的1
业务
表格已关闭-
id category
1 1
2 1
3 1
4 2
查看
表格-
id bid reviewer_point
1 1 4
2 1 3
3 2 4
4 2 5
我需要返回按类别
筛选的最高评级(基于平均评级点)业务的10
业务ID
到目前为止,我可以找到每家企业的平均评级
SELECT business.category, bid,
COUNT(*) AS review_count, AVG(reviewer_point) AS average_points
FROM reviews
GROUP BY bid
ORDER BY average_points DESC WHERE category = 1 LIMIT 10;
我无法使用
WHERE
子句。如何获得我的首选解决方案。提前感谢WHERE子句必须提交给GROUP BY
SELECT business.category, bid,
COUNT(*) AS review_count, AVG(reviewer_point) AS average_points
FROM review
WHERE category = 1
GROUP BY bid
ORDER BY average_points DESC
LIMIT 10;
但是,这仍然不起作用,因为业务
表尚未加入此查询。我想包括这一点,但没有明显的方式将业务
加入审查
。review
表是否应该有一列包含对business.id
的引用
祝你好运
编辑
根据OP在评论(以下)中提供的信息,修改后的查询将变为
SELECT b.category, r.bid,
COUNT(*) AS review_count, AVG(reviewer_point) AS average_points
FROM review r
INNER JOIN business b
ON b.id = r.bid
WHERE b.category = 1
GROUP BY r.bid, b.category
ORDER BY average_points DESC
LIMIT 10;
和WHERE子句必须位于GROUP BY之前
SELECT business.category, bid,
COUNT(*) AS review_count, AVG(reviewer_point) AS average_points
FROM review
WHERE category = 1
GROUP BY bid
ORDER BY average_points DESC
LIMIT 10;
但是,这仍然不起作用,因为业务
表尚未加入此查询。我想包括这一点,但没有明显的方式将业务
加入审查
。review
表是否应该有一列包含对business.id
的引用
祝你好运
编辑
根据OP在评论(以下)中提供的信息,修改后的查询将变为
SELECT b.category, r.bid,
COUNT(*) AS review_count, AVG(reviewer_point) AS average_points
FROM review r
INNER JOIN business b
ON b.id = r.bid
WHERE b.category = 1
GROUP BY r.bid, b.category
ORDER BY average_points DESC
LIMIT 10;
而mysql单个查询的顺序是:
1st SELECT;
2nd FROM;
3rd WHERE;
4th GROUP BY;
5th HAVING;
6th ORDER BY;
7th LIMIT.
请尝试在每个查询中放置一个换行符。mysql单个查询的顺序是:
1st SELECT;
2nd FROM;
3rd WHERE;
4th GROUP BY;
5th HAVING;
6th ORDER BY;
7th LIMIT.
试着用一条换行符将每一条换行。为什么不能使用
WHERE
?因为无法获取类别
。Sql错误显示“字段列表”中的“business.category”列Unknown,这是因为您缺少查询的JOIN
部分。如果您有疑问,请查看文档:为什么不能使用WHERE
?因为无法获取类别
。Sql错误显示“字段列表”中的“business.category”列Unknown,这是因为您缺少查询的JOIN
部分。如果您有疑问,请查看文档:bid
ofreviews
的可能重复项是id
ofbusiness
的参考列。您能否加入business
进行扩展?bid
ofofreviews
是id
的参考列业务
。您能否加入业务
?