【问题标题】:Linking 2 tables and outputting results in descending order then alphabetical链接 2 个表格并按降序输出结果,然后按字母顺序输出
【发布时间】:2017-01-13 09:10:22
【问题描述】:

我有一张名为 wrestlers 的桌子,里面有

id, wrestler_name,age
1,Tom,24
2,Fred,19
3,Michael, 28

我有另一个名为 reviewers 的表,其中有

reviewer, id,score
1,1,3
1,2,3
2,3,4

每个审阅者都有一个与 wrestlers 表中摔跤手的 id 相对应的数字,他们为每个摔跤手打分。

我正在努力寻找至少有 200 条评论的摔跤手。然后,我想按评论数(从高到低)对摔跤手进行排序,然后按字母顺序对可能具有相同评论数的人排序。

我知道我需要使用内部联接,并且我一直在尝试以下方法,但我无法让它工作

select * from(select reviewers.id, wrestlers.name, count(*) from wrestlers inner join reviewers group by reviewers.id having count(reviewers.id) >= 200) order by count(*) DESC name;

但是,输出数据需要很长时间。

【问题讨论】:

    标签: database sqlite inner-join


    【解决方案1】:

    这需要很长时间,因为数据库将每个评论与每个摔跤手结合在一起,因为您确实忘记了加入条件。 而且您不需要子查询:

    SELECT id,
           name,
           count(*)
    FROM reviewers
    JOIN wrestlers USING (id)
    GROUP BY id
    HAVING count(*) >= 200
    ORDER BY count(*) DESC, name;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-01
      • 2019-06-12
      • 1970-01-01
      • 2018-03-14
      • 2013-05-12
      相关资源
      最近更新 更多