bn
Erfahrenes Mitglied
Hallo allerseits,
folgende Problematik:
es gibt eine tabelle namens x mit folgenden Spalten:
----------------
id AUTO INCREMENT, visits, out, Primary Key (id)
----------------
In dieser Tabelle sind nun viele viele Einträge mit unterschiedlich hohen Zahlenwerten in visits und out.
Diese Tabelle ist Grundlage für ein Rankingsystem.
1. Primärität: visits
2. Primärität: outs
Sprich die Reihenfolge des Rankings richtet sich zunächst den Visits und erst wenn 2 Datensätze die gleiche Anzahl an Visits haben, kommen die Outs für das Ranking auf.
Ich möchte nun in ein Suchfeld einen Rang eingeben und am Ende brauche ich die id.
Theoretisch müßte man das mit COUNT und einem Join der selben Tabelle machen, nur habe ich es bisher nicht hinbekommen.
hier mal mein FALSCHER Lösungsansatz:
$_POST['rank'] ist dabei der durch ein Formular übergebene Suchrang.
Ich weiß, das diese Abfrage alles andere als einfach ist und bin deshalb für jede Anregung dankbar.
cya bloddy
folgende Problematik:
es gibt eine tabelle namens x mit folgenden Spalten:
----------------
id AUTO INCREMENT, visits, out, Primary Key (id)
----------------
In dieser Tabelle sind nun viele viele Einträge mit unterschiedlich hohen Zahlenwerten in visits und out.
Diese Tabelle ist Grundlage für ein Rankingsystem.
1. Primärität: visits
2. Primärität: outs
Sprich die Reihenfolge des Rankings richtet sich zunächst den Visits und erst wenn 2 Datensätze die gleiche Anzahl an Visits haben, kommen die Outs für das Ranking auf.
Ich möchte nun in ein Suchfeld einen Rang eingeben und am Ende brauche ich die id.
Theoretisch müßte man das mit COUNT und einem Join der selben Tabelle machen, nur habe ich es bisher nicht hinbekommen.
hier mal mein FALSCHER Lösungsansatz:
PHP:
$daten = mysql_query("
SELECT first.id FROM x AS first WHERE
(SELECT COUNT(*) FROM x AS second WHERE
(first.vote < second.vote OR ( first.vote = second.vote AND first.out < second.out))='".$_POST['rank']."')
",$db);
Ich weiß, das diese Abfrage alles andere als einfach ist und bin deshalb für jede Anregung dankbar.
cya bloddy