---
title: "hur sortera?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/21892-hur-sortera"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "peter"
published: "2002-01-16T21:05:00.000Z"
updated: "2002-01-16T21:26:00.000Z"
replies: 4
views: 184
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/21892-hur-sortera"
---

# hur sortera?

## #1 — peter, 2002-01-16T21:05Z

halojsan :) 

är i lite behov av hjälp. hoppas nån kan och vill hjälpa. :)

jag har följande SQL-sats som nästan funkar som jag vill:

```
SELECT koplat.latid, COUNT(koplat.latid) AS antal
FROM koplat, kop
WHERE koplat.kopid = kop.kopid AND
kop.datum BETWEEN '12-23-2001' AND '12-23-2002'
GROUP BY koplat.latid
```

jag får då fram **latid** vilket är en viss låts id och så får jag ju fram **antal** som visar hur många gånger varje låt(id) har blivit köpt. 

Problemet är att jag skulle vilja sortera efter antal. Alltså att den låt som köpts flest gånger kommer överst. 

Det jag ska åstakomma är alltså en topplista på vilka låtar som sålt mest under en viss tidsperiod. i detta fall under ett år.

Testade med ORDER BY antal ASC men det funkade inte alls. Klagar på att kolumnen inte finns. :/

Tacksam för hjälp

//Peter

\[Redigerat av peter den 16 jan 2002\]

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

## #2 — LarsG, 2002-01-16T21:12Z

Det låter som Access, testa så här då.

```
SELECT koplat.latid, COUNT(koplat.latid) AS antal
FROM koplat, kop
WHERE koplat.kopid = kop.kopid AND
kop.datum BETWEEN '12-23-2001' AND '12-23-2002'
GROUP BY koplat.latid
order by 2
```

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

## #3 — peter, 2002-01-16T21:16Z

nepp... inte access... använder interbase 5.5...

tyvärr funka de det inte..

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

## #4 — LarsG, 2002-01-16T21:25Z

Interbase - en vit fläck för mig.

så här då ?

```
SELECT koplat.latid, COUNT(koplat.latid) AS antal
FROM koplat, kop
WHERE koplat.kopid = kop.kopid AND
kop.datum BETWEEN '12-23-2001' AND '12-23-2002'
GROUP BY koplat.latid
order by COUNT(koplat.latid)
```

eller så kan du skapa en vy 

```

create view v as 
SELECT koplat.latid, COUNT(koplat.latid) AS antal
FROM koplat, kop
WHERE koplat.kopid = kop.kopid AND
kop.datum BETWEEN '12-23-2001' AND '12-23-2002'
GROUP BY koplat.latid
```

och göra

```
select * from v order by antal
```

eller möjligen 

```
select * from (
SELECT koplat.latid, COUNT(koplat.latid) AS antal
FROM koplat, kop
WHERE koplat.kopid = kop.kopid AND
kop.datum BETWEEN '12-23-2001' AND '12-23-2002'
GROUP BY koplat.latid) as v
order by antal
```

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

## #5 — peter, 2002-01-16T21:26Z

sorry... :) det fungerade ju hur bra som helst... jag som inte hade en uppdaterad version av databasen hemma... :) den "riktiga" databasen e i skolan... 

Tack LarsG!!

\[Redigerat av peter den 16 jan 2002\]

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/21892-hur-sortera
