---
title: "Top 5 forts"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/154857-top-5-forts"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "MizzK"
published: "2006-12-13T21:12:00.000Z"
updated: "2006-12-15T21:30:52.000Z"
replies: 17
views: 748
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/154857-top-5-forts"
---

# Top 5 forts

## #1 — MizzK, 2006-12-13T21:12Z

För några dagar sedan fick jag hjälp med en top 5 sats som skulle räkna ut top 5 och den fungerade trodde jag, men nu ser jag att den räknar ut top 5 på vissa ställen och top 6 på vissa, någon som har  förslag hur detta ska fixas för att de ska bli korrekt?

Sql satsen:

```
SELECT u.hundnr, h.hundnamn, h.kon, Sum(u.poang) AS top5, (select sum(utr.poang)
from utst_resultat utr where utr.hundnr = u.hundnr) AS total, (select Count(aus.utstnr)
 from utst_resultat aus where aus.hundnr = u.hundnr) AS antal
 FROM utst_resultat AS u INNER JOIN hund AS h ON u.hundnr = h.hundnr
 WHERE (((u.poang) In (select top 5 ur.poang
 from utst_resultat ur where(ur.hundnr = u.hundnr)
 order by ur.poang desc))) GROUP BY u.hundnr, h.hundnamn, h.kon
 HAVING(((h.kon) = 't')) ORDER BY Sum(u.poang) DESC;
```

gamla tråden:

<http://www.webforum.nu/showthread.php?t=151243>

Permalänk: https://www.webforum.nu/p/154857

## #2 — emission, 2006-12-13T21:23Z

Det ska inte vara 

```
u.poang) In (select top 5 ur.poang
```

utan

```
u.utstnr) In (select top 5 ur.utstnr
```

Förutsatt att det är "utstnr" som identifierar den specifika utställningen

Permalänk: https://www.webforum.nu/p/1909821

## #3 — MizzK, 2006-12-13T21:28Z

De gav samma resultat.. ingen skillnad i listan

om de var såhär du menade

```
SELECT u.hundnr, h.hundnamn, h.kon, Sum(u.poang) AS top5, (select sum(utr.poang)
from utst_resultat utr where utr.hundnr = u.hundnr) AS total, (select Count(aus.utstnr)
 from utst_resultat aus where aus.hundnr = u.hundnr) AS antal
 FROM utst_resultat AS u INNER JOIN hund AS h ON u.hundnr = h.hundnr
 WHERE (((u.utstnr) In (select top 5 ur.utstnr
 from utst_resultat ur where(ur.hundnr = u.hundnr)
 order by ur.poang desc))) GROUP BY u.hundnr, h.hundnamn, h.kon
 HAVING(((h.kon) = 'h')) ORDER BY Sum(u.poang) DESC;
```

Permalänk: https://www.webforum.nu/p/1909824

## #4 — MizzK, 2006-12-13T21:36Z

kan de ha ngt med att vissa resultat kan vara identiska och i de fallen ska den endast välja en av dem? Eller så många av dem som behövs.. dvs den ska alltid välja de 5 högsta värdena!

Permalänk: https://www.webforum.nu/p/1909830

## #5 — emission, 2006-12-13T22:01Z

Det var just det som min förändring skulle åstadkomma. I den ursprungliga SQL-satsen räknades t.ex. 10,10,10,6,5,3,2 som de fem högsta. 

Renskriven

```
SELECT  u.hundnr, 
        h.hundnamn, 
        h.kon, 
        Sum(u.poang)  AS top5, (SELECT sum(utr.poang) FROM utst_resultat utr WHERE utr.hundnr = u.hundnr) AS total, (SELECT Count(aus.utstnr) FROM utst_resultat aus WHERE aus.hundnr = u.hundnr) AS antal 
FROM    utst_resultat AS u 
INNER JOIN hund       AS h 
ON      u.hundnr = h.hundnr 
WHERE   u.utstnr In 
        (SELECT top 5 ur.utstnr 
        FROM    utst_resultat ur 
        WHERE   ur.hundnr = u.hundnr 
        ORDER BY ur.poang desc
        ) 
    AND h.kon='t' 
GROUP BY u.hundnr, 
        h.hundnamn, 
        h.kon 
ORDER BY Sum(u.poang) DESC
```

Permalänk: https://www.webforum.nu/p/1909847

## #6 — MizzK, 2006-12-13T22:39Z

får med din kod samma resultat som innan, ingen skillnad =(

Permalänk: https://www.webforum.nu/p/1909857

## #7 — MizzK, 2006-12-13T22:41Z

både utställning 3 och 6 ex kan mna få samma poäng på..

när jag bara väljer top 5 satsen skriver den ut ex så här

här finns totalt bara 6 resultat
utstnr-poang
31-30p
3-26p
11-20p
9-20p
1-15p
8-15p

ett annat exempel med 10 resultat
8-52
17-43
18-20
11-20
31-15
30-15
27-15

Permalänk: https://www.webforum.nu/p/1909859

## #8 — emission, 2006-12-13T23:03Z

???

Menar du att du får ut 6 resp. 7 resultat när du kör top 5-satsen??

MS SQL, Access?

Permalänk: https://www.webforum.nu/p/1909869

## #9 — MizzK, 2006-12-13T23:27Z

jepp verkar så, men i första fallet här fanns de totalt 6 resultat men skrev ut 6 samt i den andra fallet fanns total 10 resultat och skrev ut 7.. 

konstigt va ;)

acess databas!

Permalänk: https://www.webforum.nu/p/1909882

## #10 — emission, 2006-12-14T01:22Z

Det råkar inte vara så att du använder någon tokig datatyp, såsom Memo?

Permalänk: https://www.webforum.nu/p/1909899

## #11 — MizzK, 2006-12-14T08:31Z

nope alla e numbers...

Permalänk: https://www.webforum.nu/p/1909917

## #12 — @nders, 2006-12-14T08:36Z

> kan de ha ngt med att vissa resultat kan vara identiska och i de fallen ska den endast välja en av dem? Eller så många av dem som behövs.. dvs den ska alltid välja de 5 högsta värdena!

Brukar lösas genom att (i den delfråga som innehåller TOP) lägga till ett sekundärt sorteringsfält, som alltid är unikt (exempelvis ett räknar-id.).

Permalänk: https://www.webforum.nu/p/1909920

## #13 — MizzK, 2006-12-14T08:39Z

hur menar du? visa gärna me kod

Permalänk: https://www.webforum.nu/p/1909921

## #14 — @nders, 2006-12-14T09:26Z

```
.....
SELECT top 5 ur.utstnr 
        FROM    utst_resultat ur 
        WHERE   ur.hundnr = u.hundnr 
        ORDER BY ur.poang desc[b], något_till_fält_från_utst_resultat_att_sortera_på_exempelvis_en_räknare[/b]
.....
```

Permalänk: https://www.webforum.nu/p/1909937

## #15 — emission, 2006-12-14T10:16Z

Det var som sjutton. Sickna fasoner av Access....

Permalänk: https://www.webforum.nu/p/1909962

## #16 — MizzK, 2006-12-14T11:17Z

ja verkligen, men de fungerade nu.. =D

tack för hjälpen alla =D

Permalänk: https://www.webforum.nu/p/1909989

## #17 — @nders, 2006-12-14T11:37Z

Ja, Access beter sig lite underligt ibland (TOP är en av dessa underligheter), och det är bara att lära sig. :)

(Jag noterar också att jag för en gångs skull kan något som inte emission kan! (y))

Permalänk: https://www.webforum.nu/p/1909993

## #18 — emission, 2006-12-15T21:30Z

> **@nders skrev:**
>
> (Jag noterar också att jag för en gångs skull kan något som inte emission kan! (y))

Inte konstigt att jag sov dåligt.... ;)

Permalänk: https://www.webforum.nu/p/1910360

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/154857-top-5-forts
