我如何使用MySQL来计算一个左连接?如何使用MySQL以COUNT进行LEFT JOIN?
我有两个表,有时评级表中没有相片收视率,所以我认为LEFT JOIN需要的,但我也有一个COUNT声明..
照片
id name src
1 car bmw.jpg
2 bike baracuda.jpg
爱(picid与照片ID外键)
id picid ratersip
4 1 81.0.0.0
6 1 84.0.0.0
7 2 81.0.0.0
他用户只能用IP对一个图像进行评分。
我想按最高评分的顺序组合这两张表。新表
联合
id name src picid
1 car bmw.jpg 1
2 bike baracuda.jpg 2
(宝马是收视率最高的)
我的MySQL代码:
SELECT * FROM photos
LEFT JOIN ON photos.id=loves.picid
ORDER BY COUNT (picid);
我的PHP代码:(更新和补充 - 工作实例。 ..)
$sqlcount = "SELECT p . *
FROM `pics` p
LEFT JOIN (
SELECT `loves`.`picid`, count(1) AS piccount
FROM `loves`
GROUP BY `loves`.`picid`
)l ON p.`id` = l.`picid`
ORDER BY coalesce(l.piccount, 0) DESC";
$pics = mysql_query($sqlcount);
谢谢大家。以上解决方案 – TheBlackBenzKid 2012-01-11 17:01:00
@TheBlackBenzKid请不要**添加您对问题的回答....要么创建一个新的答案,并在评论中引用它,或者根本不要这样做...... – Neal 2012-01-11 17:03:22