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
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
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?
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?
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
Synes godt om
Ny brugerNybegynder
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.