Avatar billede anri Novice
11. april 2007 - 15:02 Der er 1 løsning

Select top 2 fra grupper

Jeg har en tricky en her.

Jeg har en tabel hvorpå jeg laver en GROUP BY [kolonne1].
Den kunne se således ud:
BY1---By2----afstand
H1----H2-----10
H1----H3-----20
H1----H4-----30
H2----H1-----10
H2----H3-----50
H2----H4-----15

Fra den tabel skal jeg kun have de 2 byer der ligger tættest på byen i kolonnen [by1]

Hvordan kan man gøre det?
Avatar billede anri Novice
12. april 2007 - 10:10 #1
Fandt selv en løsning baseret på følgende query :

CREATE TABLE Prod
(
workplace VARCHAR(10) NOT NULL,
dt DATETIME NOT NULL,
value FLOAT NOT NULL,
PRIMARY KEY (workplace, dt)
)

SELECT workplace, AVG(value) AS avg_value
FROM Prod AS P
WHERE dt IN (SELECT TOP 20 dt
FROM Prod
WHERE workplace = P.workplace
ORDER BY dt DESC)
GROUP BY workplace
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