Gå til innhold

Spørring med to count som skal skilles med where


Anbefalte innlegg

Hei !

 

Har en tabell med :

 

navn - dato - karakter

 

Jeg ønsker å telle antall elever som har karakter under 3, samt antall elever med karater over 3 fordelt på ulike datoer.

 

Har prøvd med en vanlig select setning, men dette fungerer ikke da den legger begrensning på hele select setningen.

 

Jeg ønsker noe som dette, men har ingen anelse hvordan jeg skal få det til...har sett noe på subselect, men får ikke noe til.

 

select dato, count(navn), count(b.karakter) where b.karakter > 3, count(c.karakter) where c.karakter < 3 from tabell order by dato.

 

Resultater skal bli : (dato, antall som har fått karakter denne dagen, antall bedre karakter enn 3, antall dårligere karakter enn 3=

24-05-2004 5 3 2

25-05-2004 6 3 3

 

 

Noen som kan hjelpe med dette?

Lenke til kommentar
Videoannonse
Annonse

SELECT     'Ikke bestått' AS Status, COUNT(karakter) AS Antall
FROM         dbo.elev
WHERE     (karakter < 3)
UNION
SELECT     'Bestått' AS Status, COUNT(karakter) AS Antall
FROM         dbo.elev
WHERE     (karakter >= 3)

 

Dette virker iallefall på MS SQL server

 

EDIT: Sorry, glemte det med datokolonnen. Gi meg et minutt til.

 

EDIT: Kan du bruke denne?

 

SELECT     dato,'Ikke bestått' AS Status, COUNT(karakter) AS Antall
FROM         dbo.elev
WHERE     (karakter < 3) group by dato
UNION
SELECT     dato,'Bestått' AS Status, COUNT(karakter) AS Antall
FROM         dbo.elev
WHERE     (karakter >= 3) group by dato

 

Resultatet blir da:

Dato    Status	Antall
26.11.2005	Bestått	2
26.11.2005	Ikke bestått	1
27.11.2005	Bestått	1
27.11.2005	Ikke bestått	2

Endret av kaffenils
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...