gpt4 book ai didi

mysql - 从一个表中选择行,其中值和顺序来自 MYSQL 中的另一个表

转载 作者:行者123 更新时间:2023-11-30 22:25:42 26 4
gpt4 key购买 nike

我有两个表:

帖子:

id    text
1 abc
2 abcd
3 bcd

和投票:

post_id  vote
2 2
1 5
3 1
1 3

我想在“投票”表中按评分显示前 10 个帖子:

SELECT * FROM post
WHERE id IN
(SELECT post_id FROM
(SELECT SUM(vote) as totalvote, post_id
FROM voting
GROUP BY post_id) as table1
ORDER BY totalvote DESC)
LIMIT 10"

但它是按帖子编号排序的。如何按总票数排序?

最佳答案

可能这就是你需要的:

SELECT post.id, post.text FROM post
JOIN voting ON voting.post_id = post.id
GROUP BY post.id
ORDER BY AVG(vote) DESC
LIMIT 10

至少我认为按平均 评级排序是有意义的。但当然你可以按给定的总分排序:

SELECT post.id, post.text FROM post
JOIN voting ON voting.post_id = post.id
GROUP BY post.id
ORDER BY SUM(vote) DESC
LIMIT 10

关于mysql - 从一个表中选择行,其中值和顺序来自 MYSQL 中的另一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35304878/

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