php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.02.2005, 09:41  
Gast
 
Beiträge: n/a
Standard Highscore

Ich habe folgende Abfrage:

SELECT ID, user, MAX( punkte ) , zeit
FROM clickbattle
WHERE zeit = 5
GROUP BY user
ORDER BY punkte DESC, ID
LIMIT 0,3


Jetzt gibt es aber ein Problem.
nehmen wir mal an es gibt einen user "nap" der hat 70 Punkte und steht nur einmal drin. Dann gibt es noch einen "teschdor", der mehrmals drin steht. Einmal mit 44, einmal mit 46 und mit 71 Punkten.
Bei der Abfrage ist es jetzt so, das "teschdor nu einmal mit 71 Punkten ausgegeben wird, aber die Sortierung nach den Punkten nicht gemacht wird. Also "nap" ist, obwohl er einen Punkt weniger hat, vor "teschdor".

Weiß jemand woran das liegen könnte???
Oder sollte die Abfrage anders sein????
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 28.02.2005, 10:15  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ähm, so wie ich das verstanden habe brauchst Du doch nur das hier, oder?
Code:
SELECT id, name, punkte
FROM test
ORDER BY punkte DESC 
LIMIT 0 , 3
imported_Ben ist offline   Mit Zitat antworten
Alt 28.02.2005, 10:26  
Gast
 
Beiträge: n/a
Standard

Nicht ganz.
Es ist ja so, das der Nutzer momentan noch mehrmals in der db stehen kann. er soll aber nur einmal ausgegeben werden.
Deshalb braucht man GROUP BY.
  Mit Zitat antworten
Alt 28.02.2005, 10:31  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.814
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Code:
SELECT ID, user, SUM( punkte ) as punktzahl, zeit
FROM clickbattle
WHERE zeit = 5
GROUP BY user
ORDER BY punktzahl DESC, ID ASC
LIMIT 0,3
axo ist offline   Mit Zitat antworten
Alt 28.02.2005, 10:32  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,
dann so:
Code:
SELECT MAX( punkte ) AS maximum, name
FROM test
GROUP BY name
ORDER BY maximum DESC 
LIMIT 0 , 3
Teste mal ...
imported_Ben ist offline   Mit Zitat antworten
Alt 28.02.2005, 11:10  
Gast
 
Beiträge: n/a
Standard

mist.
Das war der Denkfehler.
So funktionierts, Danke....
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Highscore mit PHP Torley PHP Tipps 2008 7 27.02.2008 15:21
Average bei Highscore - Mittendrin platzierung cyberholic PHP-Fortgeschrittene 13 24.02.2008 13:45
Mein Flash Highscore - Versucht ihn zu knacken! El Barto Off-Topic Diskussionen 45 02.09.2005 15:46
snake highscore script ... von jedem user nur beste score Madden PHP Tipps 2005-2 15 11.06.2005 13:53
Highscore gegen Cheater schützen. PHP-Fortgeschrittene 13 13.04.2005 14:22
highscore PHP Tipps 2005 7 03.02.2005 19:57
[Erledigt] Online Highscore PHP Tipps 2004-2 2 18.11.2004 15:34
highscore sichern PHP Tipps 2004-2 3 17.11.2004 19:40
HighScore liste erstellen PHP Tipps 2004 4 08.07.2004 22:37

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
highscore.php

Alle Zeitangaben in WEZ +2. Es ist jetzt 05:38 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.