GrevenMedlem sedan okt. 2003118 inlägg
Har två frågor!
Har en tabell: fnamn, enamn, kmtid, distans, tid
Fråga 1
Vill göra en maratonliga! Där top5 listas som har sprungit flest meter (distans). Detta skall endast räknas ut om det finns text i 'tid'-fältet.
Finns inga dubbletter sambandet fnamn och enamn.
Fråga 2
Här vill jag göra en fartlista, dvs. de 5 bästa kmtider skall skrivas ut.
Finns möjligheten? :)
aasahMedlem sedan mars 20033 451 inlägg
Re: Presentera data!
Greven skrev:
...Har en tabell: fnamn, enamn, kmtid, distans, tid
Fråga 1
Vill göra en maratonliga! Där top5 listas som har sprungit flest meter (distans). Detta skall endast räknas ut om det finns text i 'tid'-fältet.
Hur ser det ut i tid om där inte finns en tid? Är inget insatt ==> där står NULL eller har du något defaultvärde som är tomma strängen, 0, ... eller dylikt? Byt i det senare fallet ut NULL nedan mot ditt defaultvärde.
select top 5 * from tabell where tid <> NULL order by distans desc;
Greven skrev:
...Fråga 2
Här vill jag göra en fartlista, dvs. de 5 bästa kmtider skall skrivas ut....
select top 5 * from tabell order by kmtid desc;
Båda dessa uttryck skriver ut alla kolumner för de rader som kommer ut.
GrevenMedlem sedan okt. 2003118 inlägg
Fråga 2
Jag vill lägga ihop alla längderna (distans) som personen ifråga har sprungit.
Databas:
fnamn,enman,distans,tid,kmtid
Göran, Persson, 5000,55.55,6.45
Göran, Persson, 6000,55.55,8.45
Göran, Persson, 5000, ,7.45 <-- Denna skall därmed inte räknas med, eftersom 'tid' inte finns.
Lars Persson, 6550,55.55,8.45
Per Persson, 5550,55.55,8.45
Top 3
Göran Persson - 11000 m
Lars Persson - 6550 m
Per Persson - 5550 m
GrevenMedlem sedan okt. 2003118 inlägg
LarsGMedlem sedan dec. 200012 465 inlägg
select top 5 * from tabell where tid <> NULL order by distans desc
Kommer aldriig att ge något resultat.
select fnamn,enamn,sum(distance) xtrm
from t
where tid <> ''
group by fnamn,enamn
order by xtrm desc
select fnamn,enamn,kmtid
from t
order by kmtid
Hur du begränsar antalet poster till de 5 med lägst kmtid beror på vilken dbms du använder.
GrevenMedlem sedan okt. 2003118 inlägg
LarsGMedlem sedan dec. 200012 465 inlägg
select top 5 fnamn,enamn,kmtid
from t
order by kmtid
GrevenMedlem sedan okt. 2003118 inlägg
Förstod det :)
SQL = "select fnamn,enamn,sum(langd) as xtrm from 2004 where tid <> '' group by fnamn,enamn order by xtrm desc"
Ger följande:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][Drivrutin för ODBC Microsoft Access] För få parametrar angavs. 1 förväntades.
LarsGMedlem sedan dec. 200012 465 inlägg
Det finns ett fel i Access som innebär att den inte förstår den variant av order by som jag använde mig av. Istället så får du använda
select fnamn,enamn,sum(distance) xtrm
from t
where tid <> ''
group by fnamn,enamn
order by 3 desc
3 motsvarar då den position i select-listan som sum(distance) har.
GrevenMedlem sedan okt. 2003118 inlägg
Nu skriver den ut sidan utan problem... men sum(distance) räknar även då det inte finns något i fältet 'tid'.
tid-fältet är i textformat, enligt mm.ss
Databas:
id,fnamn,enman,distans,tid,kmtid
1,Göran, Persson, 5000,55.55,6.45
2,Göran, Persson, 6000,55.55,8.45
3,Göran, Persson, 5000, ,7.45 <-- Denna skall därmed inte räknas med, eftersom 'tid' inte finns.
4,Lars Persson, 6550,55.55,8.45
5,Per Persson, 5550,55.55,8.45
Top 3
Göran Persson - 11000 m
Lars Persson - 6550 m
Per Persson - 5550 m
Just nu summeras även Göran Perssons längd i id 3
LarsGMedlem sedan dec. 200012 465 inlägg
select fnamn,enamn,sum(distance) xtrm
from t
where tid <> '' and tid is not null
group by fnamn,enamn
order by 3 desc
GrevenMedlem sedan okt. 2003118 inlägg
Funkar kanon!
En liten grej på fråga 2:
select top 5 fnamn,enamn,kmtid from " & request.querystring("ar") & " order by kmtid
Fältet kmtid är text format, enligt mm.ss
Det skriv inte ut någon kmtid, och top 5 funkar inte... har det med formatet att göra?
fnamn och enamn skrivs ut i tabellen, men kmtid utelämnas... :q
LarsGMedlem sedan dec. 200012 465 inlägg
Fältet kmtid är text.
Det vore bättre att lagra det som decimal.
GrevenMedlem sedan okt. 2003118 inlägg
Okej :e
Det finns alltså ingen möjlighet att presentera top 5 av kmtid i formatet 'text' ?
LarsGMedlem sedan dec. 200012 465 inlägg
Text och numeriska värden sorteras olika
T.ex så är '10' mindre än '2' när man jämför text.