Avatar billede sbi Nybegynder
19. februar 2002 - 23:33 Der er 7 kommentarer og
1 løsning

Procent udtræk

Jeg har brug for at kunne udregne nogle procenter på værdier i en tabel. Eks:

I en tabel er der X antal records, de indeholder f.eks. værdierne:

Opel
BMV
VW

Nu vil jeg gerne vide hvor mange % af mine records der er Opel.

Hvordan laver jeg nemmeste sådan et udtræk i MS SQL 2000?

Er der en smart måde???
Avatar billede tmceu Praktikant
19. februar 2002 - 23:44 #1
Hvis det bare drejer sig om et simpelt udtræk af en enkelt post, kan du vel bruge noget i stil med dette:

SELECT COUNT(*) * 100 / (SELECT COUNT(*) FROM Tabel) FROM Tabel WHERE Bil='Opel')

Skal det være mere avanceret, og eks. liste alle biler og deres procentvise fordeling, skal du bruge en stored procedure.
Avatar billede sbi Nybegynder
19. februar 2002 - 23:48 #2
Jeg har ingen problemer med at lave stored procedures, hvordan skal den laves hvis jeg skal liste alle biler og deres procentvise fordeling?

SBI
Avatar billede tmceu Praktikant
20. februar 2002 - 00:06 #3
DECLARE @TotalPct int
SET @TotalPct = (SELECT COUNT(*) FROM Tabel)

SELECT Bil, (COUNT(*) * 100) / @TotalPct FROM Tabel GROUP BY Bil

Der er nogle afrundingsproblemer med ovenstående, så den giver ikke altid 100% sammenlagt, men du kan lege lidt med eks. decimal datatypen i stedet.
Avatar billede sbi Nybegynder
20. februar 2002 - 00:10 #4
Du er GOD til det der!!!

Tak!
Avatar billede tmceu Praktikant
20. februar 2002 - 00:11 #5
Takker og det var så lidt :-)

Men er der ikke altid omkring 90% Toyota, eller har du kun tyske :-)
Avatar billede sbi Nybegynder
20. februar 2002 - 00:29 #6
Nu støder jeg jo igen på et af mine gamle spg. jeg aldrig rigtig har fået svar på: når jeg bruger datatyperne numeric(2)/decimal(2) bliver resultatet med 5 decimaler. Hvordan begrænser jeg output til 2 decimaler?

SBI
Avatar billede tmceu Praktikant
20. februar 2002 - 00:43 #7
decimal(5,2) betyder et numerisk felt - 5 langt, hvoraf de sidste 2 er decimaler
Avatar billede sbi Nybegynder
20. februar 2002 - 17:10 #8
Tak!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB