58 votes

Grouper par avec union mysql select query

<pre><code></code><p>La requête ci-dessus renvoie un résultat comme celui-ci ci-dessous,</p><pre><code></code></pre><p>Cette requête consiste à compter le nombre de transports appartenant à un propriétaire. Linda a une voiture et une moto, donc le résultat devrait:</p><pre><code></code></pre><p>J’ai essayé cette requête, mais je renvoie l’erreur :</p><pre><code></code></pre><p>Quelqu’un peut-il m’aider s’il vous plaît ?</p></pre>

144voto

Michał Powaga Points 8949
select sum(qty), name
from (
    select count(m.owner_id) as qty, o.name
    from transport t,owner o,motorbike m
    where t.type='motobike' and o.owner_id=m.owner_id
        and t.type_id=m.motorbike_id
    group by m.owner_id

    union all

    select count(c.owner_id) as qty, o.name,
    from transport t,owner o,car c
    where t.type='car' and o.owner_id=c.owner_id and t.type_id=c.car_id
    group by c.owner_id
) t
group by name

6voto

Matt Donnan Points 4745

C’est peut-être ce que vous après:

1voto

Authman Apatira Points 2214

Essayez ceci ÉDITÉ:

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X