SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 18.12.2008, 12:13:58
knautschke knautschke ist offline
Anfänger
 
Registriert seit: Aug 2007
Beiträge: 23
Anfängerfrage zu Subselects

Hi.

Folgendes:
Ich habe für ein Spiel eine Highscore-Tabelle, mit den Spalten:
id, name, score, date, max_level

Um die Platzierung eines Spielers zu berechnen, sortiere ich nach id und score (der mit mehr Punkten hat eine bessere Platzierung, bei Gleichstand der mit der kleineren id (der zuerst da war)).

Nun möchte ich von einem bestimmten Spieler jeweils die 4 Einträge von den Spielern haben, die in der Platzierung direkt davor und dahinter sind. Leider verheddere ich mich völlig bei der Syntax für die Abfrage.

Um an die Einträge der 4 nächstbesseren Spieler zu kommen wollte ich die Tabelle wieder zunächst nach id und score sortieren, und alle Einträge von den Spielern auswählen, die besser sind als der um den es sich dreht. Von dieser Auswahl dann die 4 schlechtesten Einträge.
Das gleiche dann praktisch umgekehrt für die 4 nächstschlechteren Spieler.

Also mit folgender Abfrage komme ich ja an alle Spieler mit ner höheren Platzierung (angenommen der Spieler um den es sich handelt hat 1000 Punkte und seine ID lautet 8)

SELECT name, score, max_level
FROM `Highscore_Table`
WHERE score > 1000 OR (score = 1000 AND id < 8)
ORDER BY SCORE DESC, ID ASC

Davon müßte ich ja jetzt nur die 4 schlechtesten auswhlen.

SELECT name, score, max_level
FROM (
SELECT name, score, max_level
FROM `Highscore_Table`
WHERE score > 1000 OR (score = 1000 AND id < 8)
ORDER BY SCORE DESC, ID ASC
)
ORDER BY SCORE ASC, ID DESC, LIMIT 4

Klappt aber so nicht wegen "Every derived table must have its own alias".

Ich wäre wirklich dankbar wenn mir jemand sagen könnte, wir die Abfrage korrekt aussehen müßte.

Danke und mfG

Geändert von knautschke (18.12.2008 um 12:49:35 Uhr)
Mit Zitat antworten
  #2  
Alt 18.12.2008, 14:43:18
Crisps Crisps ist offline
Junior Member
 
Registriert seit: Oct 2008
Alter: 47
Beiträge: 274
AW: Anfängerfrage zu Subselects

Zitat:
"Every derived table must have its own alias"
Du musst der Subquery einen Alias verpassen. Außerdem war ein Komma zu viel in der Abfrage. :) Ich hab es jetzt nicht überprüft, ob die Abfrage ansonsten Ok ist, aber so sollte es funktionieren:

Code:
SELECT s.name
     , s.score
     , s.max_level
 FROM (SELECT id
            , name
            , score
            , max_level
         FROM Highscore_Table
        WHERE score > 1000 OR (score = 1000 AND id < 8)
        ORDER BY SCORE DESC, ID ASC) AS s
ORDER BY s.SCORE ASC, s.ID DESC 
LIMIT 4
Mit Zitat antworten
  #3  
Alt 31.12.2008, 18:26:28
stani stani ist offline
Anfänger
 
Registriert seit: Dec 2008
Alter: 37
Beiträge: 16
AW: Anfängerfrage zu Subselects

@Crisps

Hatte das selbe Problem
siehe: http://www.selfphp.de/forum/showthre...098#post123098

Danke für die Lösung :-)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Anfängerfrage bzgl Textdateien & PHP knautschke PHP Grundlagen 2 16.08.2007 11:18:15
Anfängerfrage chrithym PHP Grundlagen 4 04.07.2006 14:32:12
Anfängerfrage zwecks include befehl orGa PHP Grundlagen 2 25.05.2004 11:29:44
Anfängerfrage - MySQL Query Moses PHP für Fortgeschrittene und Experten 3 15.10.2002 09:12:36
Anfängerfrage - Arrayausgabe Zeilenumbruch erzwingen Moses PHP für Fortgeschrittene und Experten 13 24.07.2002 14:56:48


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


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt