Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 按外观数对外键排序(SQL)_Mysql_Sql - Fatal编程技术网

Mysql 按外观数对外键排序(SQL)

Mysql 按外观数对外键排序(SQL),mysql,sql,Mysql,Sql,我有一个由三个表组成的数据库,一个用于电影(id、情节、长度等),另一个用于类型(id、名称)。第三个表,Movie2Genre,由外键组成,因此我可以将电影与特定类型(idMovie,idGenre)链接起来 然后,我使用以下sql列出每个活动类型: SELECT DISTINCT G.name FROM Genre AS G INNER JOIN Movie2Genre AS M2G ON G.id = M2G.idGenre

我有一个由三个表组成的数据库,一个用于电影(id、情节、长度等),另一个用于类型(id、名称)。第三个表,Movie2Genre,由外键组成,因此我可以将电影与特定类型(idMovie,idGenre)链接起来

然后,我使用以下sql列出每个活动类型:

    SELECT DISTINCT G.name
    FROM Genre AS G
        INNER JOIN Movie2Genre AS M2G
            ON G.id = M2G.idGenre
            ORDER BY G.name
但是,我不想按G.name对它们进行排序,而是想按与电影链接次数最多的类型对它们进行排序

如果有3部电影链接到类型戏剧2部电影链接到惊悚片,只有1部链接到喜剧-我希望订购如下:

  • 戏剧
  • 惊悚片
  • 喜剧

  • 有人能帮我吗?

    所以,按计数排序是我的第一条线索,由用户Serpiton提供。但我的案例与链接中提供的有点不同。在子查询的帮助下,我能够得到我想要的结果

    以下SQL解决了我的问题:

    SELECT G.name, M2G.totalCount AS tCount
    FROM Genre AS G
     LEFT JOIN
     (
      SELECT `idGenre`, COUNT(*) AS totalCount 
      FROM `Movie2Genre`
      GROUP BY `idGenre`
     ) M2G ON G.`id` = M2G.`idGenre`
    ORDER BY tCount DESC
    

    我为什么会被否决?谢谢你,塞皮顿,我会仔细阅读的!