MySQL Select 语句 - 两个表,按其他表的计数对一个表进行排序
Posted
技术标签:
【中文标题】MySQL Select 语句 - 两个表,按其他表的计数对一个表进行排序【英文标题】:MySQL Select Statement - Two Tables, Sort One Table by Count of Other Table 【发布时间】:2009-11-12 03:15:32 【问题描述】:所以我为我编写的自定义帖子系统构建了一个投票系统。
我希望能够按“投票最多”、“最喜欢”等排序。
我有两张桌子。
条目:ID、标题、帖子
投票:ID、EntryID、结果
我希望能够查询每个条目的投票表并查看有多少票,然后按每个表有多少票对条目进行排序。我弄乱了连接等,似乎无法弄清楚。有什么建议吗?
【问题讨论】:
【参考方案1】:您想通过条目项进行连接和分组,然后使用 count 和 sum 之类的聚合来获取投票数和投票总和:
select e.ID, e.Title, e.Post, count(*) as Votes, sum(Result) as Result
from Entry e
inner join Vote v on v.EntryId = e.Id
group by e.ID, e.Title, e.Post
order by 4 desc
【讨论】:
以上是关于MySQL Select 语句 - 两个表,按其他表的计数对一个表进行排序的主要内容,如果未能解决你的问题,请参考以下文章