加入2个mysql表并按1个表中相同行的数量排序

时间:2012-11-25 14:38:47

标签: mysql sql join

我需要一些关于mysql查询的帮助。

我有两张桌子,

表1 - 照片(photo_id,photo_url)

1 ----- www.someurl.com
2 ----- www.someurl.com
3 ----- www.someurl.com
4 ----- www.someurl.com

表2 - 收藏夹(favorite_id,user_id,photo_id)

1 ------- ------ 5 1个
2 ------- ------ 5 2
3 ------- ------ 6 1个
4 ------- ------ 6 3
5 ------- ------ 7 2
6 ------- ------ 7 3
7 ------- ------ 8 3
7 ------- ------ 8 4

我希望通过最喜欢的用户数量从照片表订购中获得结果。

正确的订购必须是:

1)Photo-3(3票)
2)Photo-2(2票)
2)Photo-1(2票)
2)Photo-4(1票)

1 个答案:

答案 0 :(得分:1)

SELECT  a.photo_url, COUNT(b.photo_ID) totalVotes
FROM    table1 a
        LEFT JOIN table2 b
            ON a.photo_ID = b.photo_id
GROUP BY a.photo_url
ORDER BY totalVotes DESC