アイテムを注文してカウントするより多くのテーブル (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) 句
しかし、次の句を追加してクエリを大きくして、ラベルからのリリースにあるコメントの合計で並べ替えると、予期しないものが表示されます。
誰かが私を正しい方法で特定できますか?
私はコメントし、あなたのニーズに合わせて質問を調整/明確にします.
ありがとう、良いお年をお迎えください