Gå til innhold

Hente ut alle rader samt å telle samtidig


Anbefalte innlegg

Hei

 

Litt rar formuleringpå emnetittel der.

 

Eg har en tabell, hvor felt2 kan være 1, 2 eller 3. Eg ønsker da å hente ut alle rader i den tabellen, gruppere dem etter felt1, og deretter ha tre felt til som sier hvor mange av felt2 det var som innehold 1, 2 eller 3.

 

Noen som forstår hva eg vil frem til?

 

Case-scenario:

En selger har solgt 5 varer(1 rad for hvert salg). Felt2 sier hvilken type vare dette var, og felt1 sier hvem selger er. Eg vil da hente ut 1 rad pr selger, som i tillegg inneholder 3 felt som sier hvor mange av hver varetype som er solgt.

 

Noen tips? Eg tror nok at eg må bruke både group by og count her, men eg har den følelsen av at eg ikke kan kjøre flere group by funksjon i samme spørring?

Lenke til kommentar
Videoannonse
Annonse
Hei

 

Litt rar formuleringpå emnetittel der.

 

Eg har en tabell, hvor felt2 kan være 1, 2 eller 3. Eg ønsker da å hente ut alle rader i den tabellen, gruppere dem etter felt1, og deretter ha tre felt til som sier hvor mange av felt2 det var som innehold 1, 2 eller 3.

 

Noen som forstår hva eg vil frem til?

 

Case-scenario:

En selger har solgt 5 varer(1 rad for hvert salg). Felt2 sier hvilken type vare dette var, og felt1 sier hvem selger er. Eg vil da hente ut 1 rad pr selger, som i tillegg inneholder 3 felt som sier hvor mange av hver varetype som er solgt.

 

Noen tips? Eg tror nok at eg må bruke både group by og count her, men eg har den følelsen av at eg ikke kan kjøre flere group by funksjon i samme spørring?

5959674[/snapback]

 

Ska vi se.. litt usikker paa hvordan dette kan loeses.. men kanskje noe alla dette:

SELECT selger_id, COUNT(salg_id = 1) AS SALG_1, COUNT(salg_id = 2) AS SALG_2, COUNT(salg_id = 3) AS SALG_3
FROM salg
GROUP BY selger_id;

(Usikker om COUNT(salg_id = 1) vil funke.. men skader jo ikke aa proeve).

 

Hmm.. Maa kanskje bruke sub-queries..

Lenke til kommentar

Hmm.. tror ikke forrige forslag vil funke.. hva med dette:

 

SELECT s1.selger_id, COUNT(s1.salg_id = 1) AS SALG_1, 
(SELECT COUNT(s2.salg_id = 2) FROM salg s2 WHERE s2.selger_id = s1.selger_id) AS SALG_2, 
(SELECT COUNT(s3.salg_id = 2) FROM salg s3 WHERE s3.selger_id = s1.selger_id) AS SALG_3, 
FROM salg s1
GROUP BY s1.selger_id;

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...