私のデータベースには次のテーブルがあります。私は参加するために使用できる重要な列のみを列挙しました。
COUNT値のMySQL JOINテーブル
私は現在、私は、割り当てられたライセンスに関しては、各COUNT値
ため
select
products.id,products.name,COUNT(assigned_licenses.id)
from
deployment_users
inner join
assigned_licenses
on
deployment_users.id = assigned_licenses.deployment_user_id
inner join
products
on
assigned_licenses.id = products.id
and
deployment_users.customer_id = 10
group by
assigned_licenses.id
;
を2つの別々のクエリを使用している次のような出力
を取得する必要があります 総ライセンスの場合
select
products.id,products.name,COUNT(total_licenses.id)
from
customers
inner join
total_licenses
on
customers.iccode = licenses.iccode
inner join
products
on
total_licenses.id = products.id
and
customers.id = 10
group by
total_licenses.id
;
リストする必要が1,000以上の製品があるので、私は単一query.Howにそれらを結合したい私はそれを行うことができますか?
Cool。あなたは 'deployment_users'をまったく使っていませんでした。このクエリの背後にある考え方を説明できますか? – Pradeep
おっしゃっているよね:) – chickahoona
「どうやって動くの?」という意味なら、 "Count(Distinct ...)"という表現は、グループとの間にあります。値が(5、2、4、2、1)の列Xを持つ5行がある場合、4を返します。値(3、3、5、5)の場合は2を返します。その価値の多くの「ユニークな」出現が存在し、それらを数えます。これはあなたがそれを理解するのに役立ちますか? – chickahoona