アイテムを注文してカウントするより多くのテーブル (4+) 間で複雑な SELECT を実行したいと考えています。
これまでのところ、これは私の行です:
SELECT
myl_u.id,
myl_u.label_real_address,
myl_u.ext,
COUNT(myc_c.contact_id),
COUNT(myl_r_c.release_id)
FROM
myl_users myl_u
LEFT JOIN myc_contacts myc_c ON myc_c.contact_type='l' AND myc_c.contact_id=myl_u.id
LEFT JOIN myl_releases myl_r ON myl_r.id=myl_u.id
LEFT JOIN myl_r_comments myl_r_c ON myl_r.release_id=myl_r_c.release_id
GROUP BY myl_u.label_real_address
ORDER BY COUNT(myc_c.contact_id) DESC
半分は機能していますが、SQL の後半部分を追加すると、予期しない値が表示され、それもなぜか 2 倍になります。
基本的に、私はmyl_users ( レコードラベルのコレクション) を 持ってい ます通常のユーザーがこれらのリリースに対して行ったコメントが含まれています。
レコード レーベルのお気に入りの数 (15、14、10、8..) で注文することができました - COUNT(myc_c.contact_id) 句
しかし、次の句を追加してクエリを大きくして、ラベルからのリリースにあるコメントの合計で並べ替えると、予期しないものが表示されます。
誰かが私を正しい方法で特定できますか?
私はコメントし、あなたのニーズに合わせて質問を調整/明確にします.
ありがとう、良いお年をお迎えください