您如何按在另一个表中找到的行数进行排序?我有一张动物用的桌子(这些是牲畜),还有一张表用来奖励。当动物赢得奖励时,奖励将添加到奖励表中。
人们希望能够找到获得最多奖项(奖励类型为1)(从大多数奖项到最少顺序)的动物。如果奖项位于单独的表格中,每个表格都有自己的行,我该如何按顺序分配多少奖项?
SELECT animals.id
FROM animals
LEFT JOIN awards ON animals.id = awards.animalid
WHERE awards.type = 1
ORDER BY...
答案 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;