SQL ORDER BY行数?

时间:2019-03-02 12:15:51

标签: sql

您如何按在另一个表中找到的行数进行排序?我有一张动物用的桌子(这些是牲畜),还有一张表用来奖励。当动物赢得奖励时,奖励将添加到奖励表中。

人们希望能够找到获得最多奖项(奖励类型为1)(从大多数奖项到最少顺序)的动物。如果奖项位于单独的表格中,每个表格都有自己的行,我该如何按顺序分配多少奖项?

SELECT animals.id 
FROM animals 
  LEFT JOIN awards ON animals.id = awards.animalid 
WHERE awards.type = 1 
ORDER BY...

1 个答案:

答案 0 :(得分:0)

您似乎想要GROUP BY

SELECT a.id
FROM animals a LEFT JOIN
     awards aw
     ON a.id = aw.animalid AND aw.type = 1 
GROUP BY a.id
ORDER BY COUNT(aw.animalid) DESC;