SQL连接多个表&;获取平均值
我试图在我的sql查询中进行几个连接,但遇到了一个问题。我需要做的是从SQL连接多个表&;获取平均值,sql,join,Sql,Join,我试图在我的sql查询中进行几个连接,但遇到了一个问题。我需要做的是从poker\u sites表中选择所有字段,然后从networks中抓取2个相对字段,如果可用,从editor\u content 我遇到的问题是,查询只返回一行,而应该至少返回三行 任何帮助都将不胜感激 这是我的SQL SELECT AVG(editor_content.rating) AS rating, poker_sites.*, networks.network_name, networks.network_icon
poker\u sites
表中选择所有字段,然后从networks
中抓取2个相对字段,如果可用,从editor\u content
我遇到的问题是,查询只返回一行,而应该至少返回三行
任何帮助都将不胜感激
这是我的SQL
SELECT AVG(editor_content.rating) AS rating, poker_sites.*,
networks.network_name, networks.network_icon FROM poker_sites
LEFT JOIN networks
ON (poker_sites.network_id=networks.network_id)
LEFT JOIN editor_content
ON (poker_sites.site_id=editor_content.assign_id)
WHERE poker_sites.published=1
如果希望使用聚合函数(在本例中为AVG)获得多个结果,则需要GROUP BY
如果希望使用聚合函数(在本例中为AVG)获得多个结果,则需要GROUP BY
SELECT x.avgRating AS rating, poker_sites.*,
networks.network_name, networks.network_icon
FROM poker_sites
LEFT JOIN networks
ON (poker_sites.network_id=networks.network_id)
LEFT JOIN
(
SELECT AVG(editor_content.rating) as avgRating, editor_content.assign_id
FROM editor_content
GROUP BY editor_content.assign_id
) x
ON (poker_sites.site_id = x.assign_id)
WHERE poker_sites.published=1