繁体   English   中英

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

[英]Joining 2 mysql table and ordering by number of same rows in 1 table

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

我有2张桌子,

表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票)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM