gpt4 book ai didi

php - 按 ID 的 MySQL JOIN 评级到按 ID 的详细信息

转载 作者:行者123 更新时间:2023-11-29 01:38:27 26 4
gpt4 key购买 nike

希望有人能帮忙。 MySQL JOIN 语句从来都不是我的强项,它们只会让我在试图弄清楚它们时伤脑筋。

我有一个表,它在另一个表中存储一个项目的评分,通过 ID 跟踪。

不过,我现在需要做的是显示按评分从高到低和从低到高排序的项目列表。

我可以获得每个项目的评级列表,很容易从评级表中按 ID 分组,但它正在将它加入我遇到的项目。并非所有项目都(还)有评级,因此如果组合列表不只是停止在确实存在的评级末尾,那也会有好处。

好的,这是我的分组声明:

SELECT  `themeID` , SUM(  `rating` ) AS ratings
FROM `votes`
GROUP BY `themeID`
ORDER BY `ratings` DESC

输出

themeID      ratings    
1 6
3 3
2 2
6 2

然后details表包含各种信息,比如id, filename, name, 日期

在两个表之间,themeIDid 是相同的,将它们联系起来。我已经查看了关于 SO 的类似查询的其他一些答案,但我无法获得任何与我的表/查询一起使用的答案(可能是因为我没有完全掌握 JOIN的)

任何帮助都会让我头疼不已!

最佳答案

只需连接两个表并添加聚合函数即可。

SELECT d.id, d.filename, d.name, IFNULL(SUM(v.rating), 0) AS ratings
FROM details AS d
LEFT JOIN votes AS v ON d.id = v.themeID
GROUP BY d.id

我使用了 LEFT JOIN 所以即使没有投票也会显示详细信息。

关于php - 按 ID 的 MySQL JOIN 评级到按 ID 的详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32796879/

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