Avatar billede harpocrates Nybegynder
12. april 2011 - 13:58 Der er 3 kommentarer og
1 løsning

SQL Query - resultater skal afgrænses.

Hej..

Jeg sidder med et problem. Jeg har lidt svært vedat finde ud af om problemet er verdens største efter som jeg ikke selv er verdens største SQL ørn :) Tror nu ikke det er så galt, hvis man har styr på sin sql..

Jeg har en database med en voldsomt masse resultater, den ser ud som følger:

peer[INTEGER] | test[TEXT] | input[TEXT] | seconds[REAL]
1          | blur      | xxx    | 2.35   
1          | blur      | xxx    | 2.565   
1          | blur      | xxx    | 2.235   
1          | blur      | xxx    | 2.2   
1          | blur      | xxx    | 2.1   
...          ....      ...        ...

1          | resize      | xxx    | 3.2   
1          | resize      | xxx    | 3.24   
1          | resize      | xxx    | 3.1   
1          | resize      | xxx    | 3.0   
...          ...      ...        ...

Der er mange forskellige tests med mange forskellige input, dog er fælles for alle tests at de er blevet
udført 50 gange med hvert input og dermed er der 50 forskellige "sekund" værdier for hver test med med samme input.

Det jeg godt kunne tænke mig, er at jeg for hver test barbere de 10 mindste og 10 højeste tests væk, således at jeg kun har 30 værdier for hver test med samme input. Dette skal så smides i en anden tabel.

Håber nogen kan hjælpe, eftersom det er noget jeg skal bruge i mit speciale :)

- Kåre
Avatar billede alphabits Nybegynder
12. april 2011 - 15:40 #1
Hvis du har præcis 50 tests, for hver unik kombination af testnavn og input, burde følgende query give det ønskede (har kaldt din tabel test_results)
[code]SELECT
    tr2.peer, tr2.test, tr2.input, tr2.seconds
FROM (
    SELECT tr.*, @rownum:=@rownum+1 n
    FROM test_results tr, (SELECT @rownum:=0) x
    ORDER BY tr.test, tr.input, tr.seconds
    ) as tr2
WHERE
    MOD(tr2.n,50) BETWEEN 10 AND 40
[/code]
Avatar billede harpocrates Nybegynder
12. april 2011 - 19:20 #2
Super - tak ! - jeg tjekker den i morgen :)
Avatar billede harpocrates Nybegynder
10. juni 2011 - 09:58 #3
Det virkede fint .. vil du have nogle point ?
Avatar billede alphabits Nybegynder
10. juni 2011 - 10:26 #4
Jo tak :)
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