gpt4 book ai didi

php - sql - 按其他关系计数排序查询

转载 作者:可可西里 更新时间:2023-11-01 07:51:46 26 4
gpt4 key购买 nike

enter image description here

这就是我的表格。

所以一首歌可以有更多的选票。我想获得所有歌曲,按它有多少票数排序。我该怎么做?

例子:歌曲表将是

1,"Master Of Puppets"
2,"Don't Cry"
3,"Baby"
4,"Song name"
5,"I want to break free"

和投票:

1,5
2,5
3,5
4,2
5,2
6,1

我想查询歌曲表,得到得票最多的歌曲,应该是这个顺序

5,"I want to break free"
2,"Don't cry"
1,"Master Of Puppets"
3,"Baby"
4,"Song name"

有没有办法只用一个查询来做到这一点?我知道我可以查询所有歌曲,然后为每首歌曲查询投票表,其中 songId 是当前歌曲的 ID,但我可以只用一个查询来做到这一点吗?

最佳答案

使用Count() 聚合来计算每首歌获得的投票数,并在Order by中使用它。

Left Outer join 用于从 song 表返回行,即使歌曲从未获得投票

试试这个

SELECT s.id, 
s.title
FROM song s
LEFT OUTER JOIN votes v
ON s.id = v.songid
GROUP BY s.id,
s.title
ORDER BY Count(v.songid) DESC

关于php - sql - 按其他关系计数排序查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34548603/

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