Menar du så här?
SELECT DISTINCT TOP 10 poang FROM tabellen ORDER BY poang DESC
Distinct hämtar endast unika poster.
10 svar · 337 visningar · startad av JonasG
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...
Menar du så här?
SELECT DISTINCT TOP 10 poang FROM tabellen ORDER BY poang DESC
Distinct hämtar endast unika poster.
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å. ;)
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
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!
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.
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.
Vad har du för index på tabellen?
Hm...
Det vet jag inte. Har inte gjort något speciellt. Vet inte vad index är. Vad är det ... ? :-)
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.
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!