Avatar billede ddjppol Nybegynder
11. juni 2008 - 13:34 Der er 5 kommentarer

top 10 med group

Hvis jeg nu har det her i databasen

2 felter

1    hest
1    hest
2    hest
3    hest
4    hest
5    hest
6    hest
7    hest
8    hest
9    hest
10    hest
11    hest
12    hest
1    gris
1    gris
2    gris
3    gris
4    gris
5    gris
6    gris
7    gris
8    gris
9    gris
10    gris
11    gris
12    gris



Hvis jeg nu vil lave en top 10 kun med de første 10 hest og de første 10 gris, hvordan laver jeg så det? Det skal være via group by for jeg skal lave SUM på et 3. felt
Avatar billede aaberg Nybegynder
11. juni 2008 - 15:21 #1
hvis tabellen hedder Animals, kolonne 1 hedder Id og kolonne 2 hedder Name

select top(10) a.Id, a.Name
from Animals a
where a.Name = 'hest'
group by a.Id, a.Name
union
select top(10) a.Id, a.Name
from Animals a
where a.Name = 'gris'
group by a.Id, a.Name
Avatar billede ddjppol Nybegynder
11. juni 2008 - 15:37 #2
nu er navnet, hest og gris, dynamiske, så hvordan gøres det så ?
Avatar billede HenrikSjang Nybegynder
12. juni 2008 - 23:21 #3
Når du siger, at du kun vil have "de første 10" af fx heste eller grise - hvordan definerer du så "de første"? Hvilken sorteringsorden dikterer hvilke 10 du vil have ud? Alfabetisk? efter ID?
Avatar billede HenrikSjang Nybegynder
12. juni 2008 - 23:22 #4
Nå ja, og når du skriver at fx hest og gris er dynamiske, betyder det så, at det er noget der angives via en parameter, eller mener du, at du pr. forskelligt dyr vil have de 10 første, uanset hvilke typer dyr der findes?

Hvilken version af SQL Server bruger du?
Avatar billede Syska Mester
13. juni 2008 - 00:29 #5
ddjppol:
Du er ude i noget som ikke kan lade sig gøre ... uden at følge aaberg80 ex.

Eller i hvert fald fortælle os noget mere ...

Pseudo:
Group by Dyr(indtil videre har du hest og gris)
Altså vil overstående info blive til 2 rows ...
Hvad er målet med den group by ... ? Hvad er det du skal "SUM" på ?

Første skridt til hjælp er at hjælpe os :-)

// ouT
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