我如何使用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