JonasGMedlem sedan mars 2001148 inlägg Hej!
Letat på forumet men inte hittat vettigt svar. Liknande men inte fått det att fungera...
Jag sparar "spelare", "poang", "tid" i tabellen "spel".
Jag vill sedan plocka ut topp 10 spelare och deras "poang".
Alltså en spelare står bara med en gång...
Borde ju inte vara så svårt men jag är inte så haj...
VimpMedlem sedan juli 20022 537 inlägg Menar du så här?
SELECT DISTINCT TOP 10 poang FROM tabellen ORDER BY poang DESC
Distinct hämtar endast unika poster.
@ndersMedlem sedan juni 200032 969 inlägg
Vimp skrev:
Menar du så här?
SELECT DISTINCT TOP 10 poang FROM tabellen ORDER BY poang DESC
Distinct hämtar endast unika poster.
Kan vara bra att ha med kolumnen spelare i SQL-frågan också. ;)
Tipsar om SQL-forumet
LarsGMedlem sedan dec. 200012 464 inlägg Flyttas från ASP
Om du bara vill ha varje spelare en gång och dennes högsta poäng.
select top 10 poang,spelare
from t as q
where poang in (select max(poang) from t
where spelare = q.spelare)
order by poang desc
TOP 10 kan behöva bytas beronde på DBMS
JonasGMedlem sedan mars 2001148 inlägg Hej!
Använder nu:
select top 10 medel, spelare from reagera as q where medel in (select min(medel) from reagera where spelare = q.spelare) order by medel asc
men sidan blir mkt segladdad? Kan man göra något åt det?
Tack för hjälp förresten!
aasahMedlem sedan mars 20034 471 inlägg Borde bli samma som:
select top 10 medel, spelare
from reagera as q where medel =
(select min(medel) from reagera where spelare = q.spelare) order by medel asc
Eftersom min(.) lämnar ifrån sig exakt ETT tal. Vet inte om det går fortare, dock.
Fast... vad gör du egentligen? :q Det borde ju ge samma resultat som:
select top 10 min(medel) as med, spelare
from reagera
order by med asc;
Det borde gå snabbare.
JonasGMedlem sedan mars 2001148 inlägg Asså sär hära ligger det till:
Har gjort ett spel i flash som går ut på att ha så kort reaktionstid som möjligt.
När en ring byter färg, skall man klicka.
I tabellen sparas spelare (spelarnamn), medel (snitttid över 5 rundor), tid (när rundan sparades).
Har ett gäng resultatlistor till detta då.
Nämligen:
Topp 10 tider
select top 10 spelare, medel FROM reagera order by medel asc, spelare asc
Topp 10 av dig
SELECT TOP 10 medel FROM reagera where spelare = '" & session("namn") & "' order by medel asc
Senaste 10 spel
select top 10 spelare, medel from reagera order by tid desc
Top 10 spelare
Den har jag problem med då... Det blir inte rätt då med aasahs senaste förslag heller... Den skall alltså plocka 10 st. Nämligen sorterat från lägsta medel och uppåt. Och endast EN per spelare. Till skillnad från Topp 10 tider.
LarsGMedlem sedan dec. 200012 464 inlägg Vad har du för index på tabellen?
JonasGMedlem sedan mars 2001148 inlägg Hm...
Det vet jag inte. Har inte gjort något speciellt. Vet inte vad index är. Vad är det ... ? :-)
LarsGMedlem sedan dec. 200012 464 inlägg Index är till för att snabba upp sökningar. Det innebär att man skapar en sorterad kopia av vissa kolumner. T.ex. om du skapar ett index på spelarnam och poäng så borde det gå väldigt snabbt att hita bästa poängen för en viss spelare.
JonasGMedlem sedan mars 2001148 inlägg Thanks!
Med tidigare förslag om vilken att använda, samt användning av indexering på spelare och medel, går det riktigt snabbt nu!