【问题标题】:MySQL Select Statement - Two Tables, Sort One Table by Count of Other TableMySQL Select 语句 - 两个表,按其他表的计数对一个表进行排序
【发布时间】:2009-11-12 03:15:32
【问题描述】:

所以我为我编写的自定义帖子系统构建了一个投票系统。

我希望能够按“投票最多”、“最喜欢”等排序。

我有两张桌子。

条目:ID、标题、帖子

投票:ID、EntryID、结果

我希望能够查询每个条目的投票表并查看有多少票,然后按每个表有多少票对条目进行排序。我弄乱了连接等,似乎无法弄清楚。有什么建议吗?

【问题讨论】:

    标签: sql mysql join left-join


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2012-12-07
      • 2018-05-29
      • 2019-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多