Toon posts:

[SQL] tel het totaal, maar dan met group by (?)

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hai. Ik heb onderstaande query. Deze geeft het aantal meta's waarvan het metaID in een bepaalde set zit. Geen probleem.
Het probleem is dat iedere meta een wetID heeft en nu wil ik van meta's die ik met onderstaande query terugkrijg alleen die met een uniek wetID.
code:
1
2
3
4
5
6
select count(*)
from meta
where meta.metaID in 
  ( select mo.metaID
    from metaOnderwerp as mo
    where onderwerpID = 2)

Met een group by wetID kan ik de unieke wetID's wel krijgen, maar dan kan ik het totale aantal niet meer opvragen, want dan doet ie dat per groep (wetID).

Ik werk trouwens met SQL Server

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

code:
1
2
group by wetid
having count(*)=1

Who is John Galt?


Verwijderd

Topicstarter
Even voor de duidelijkheid, met de volgende query krijg ik wel de gewenste wetID's, alleen lukt het niet die te tellen
code:
1
2
3
4
5
6
7
select meta.wetID
from meta
where meta.metaID in 
  ( select mo.metaID
    from metaOnderwerp as mo
    where onderwerpID = 2)
group by wetID

en ik ben er net achter dat ik datzelfde ook krijg met
code:
1
2
3
4
5
6
select distinct meta.wetID
from meta
where meta.metaID in 
  ( select mo.metaID
    from metaOnderwerp as mo
    where onderwerpID = 2)

Maar ook zo kan ik ze niet tellen volgens mij

Verwijderd

Topicstarter
Ik ben er al uit:
code:
1
2
3
4
5
6
select count(distinct wetID)
from meta
where meta.metaID in 
  ( select mo.metaID
    from metaOnderwerp as mo
    where onderwerpID = 2)