MySQLを使用してLEFT JOINをカウントするにはどうすればよいですか?LEFT JOINでMySQLを使用するにはどうすればよいですか?
私は
写真
id name src
1 car bmw.jpg
2 bike baracuda.jpg
... 2つのテーブルを持って、私はLEFT JOINを考えて、時には定格表には写真のための評価を持っていない必要があるが、私はまた、COUNT文を持っていますは(picidが写真のIDを持つ外部キーです)
id picid ratersip
4 1 81.0.0.0
6 1 84.0.0.0
7 2 81.0.0.0
彼を愛しますユーザは自分のIPで1つの画像のみを評価することができる。
最高の評価の順に2つの表を結合したいと考えています。新しいテーブル
id name src picid
1 car bmw.jpg 1
2 bike baracuda.jpg 2
を組み合わせ
(BMWが最も高く評価される)
私のMySQLのコード:
SELECT * FROM photos
LEFT JOIN ON photos.id=loves.picid
ORDER BY COUNT (picid);
私のPHPコード:(UPDATED、コメントを追加しました - 実施例。 ..)
$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
@TheBlackBenzKidしてください** **あなたの答えを質問に追加しないでください....新しい回答を作成してコメントで参照するか、まったくしないでください... – Neal