Mailinglisten-Archive |
ALSO: Ich arbeite an einem Bewertungssystem. Hierbei können User halt über irgendwas abstimmen. Sie können zur Bewertung einen Wert +3..-3 angeben. Diese Bewertung wird in einer Tabelle gespeichert (ach nee *G*). Die Bewertungstabelle hat 3 Spalten: "ID", "User", "Vote". ID ist halt ein monoton steigender, autoicrementing INT, User die ID des bewerteten Users und Vote die Stimme die er bekommen hat (+3..-3). Nun möchte ich aus dem ganzen ein Ranking bauen und herausfinden an welcher Stelle der User steht. Nehmen wir an, es gäbe folgende Werte in der Tabelle ID User Vote 1 1 3 2 2 1 3 1 2 4 1 -3 5 4 -2 6 3 0 ....... Nun habe ich etwa folgendes Query: SELECT Avg(Vote) as Stimme, User from Tabelle ORDER BY Stimme DESC GROUP BY User Dies gibt mir dann ca. dies aus: Stimme User 1 2 0.66 1 0 3 -2 4 Meine Frage ist nun, an welcher Stelle steht User #3? Ich dachte mir nun, das ich ja durch "CREATE TABLE HeapTabelle TYPE=HEAP SELECT Avg(Vote) as Stimme, User from Tabelle ORDER BY Stimme DESC GROUP BY User" die Werte aus dem SELECT direkt in eine andere, neue Tabelle einfügen kann. Gut, wenn ich das habe, dann kann ich mit "SELECT Stimme FROM HeapTabelle WHERE User='3'" direkt die eine Zeile aus der neuen Tabelle auslesen die mich interessiert. Allerdings weiß ich dann immer noch nicht, welchen Platz User #3 hat - die User# wäre also mein Primary Key, korrekt. Hmm, bei einer ISAM Tabelle gibt's ja AutoInc Spalten. Wie kann ich hierbei "CREATE TABLE HeapTabelle TYPE=HEAP SELECT Avg(Vote) as Stimme, User from Tabelle ORDER BY Stimme DESC GROUP BY User" sagen, das ich zusätzlich noch eine weitere Spalte erzeugen möchte?? Versteht ihr was ich will? *G* Jens Peter Möller <jpmnet_(at)_gmx.net> on 30.01.2001 13:37:27 Bitte antworten an mysql-de_(at)_lists.4t2.com An: mysql-de_(at)_lists.4t2.com Kopie: (Blindkopie: Alexander Skwar/de/delphiauto) Thema: Re: Antwort: Re: Antwort: Re: Ausgegebene Zeilen zählen lassen? ----- Original Message ----- From: <alexander.skwar_(at)_delphiauto.com> To: <mysql-de_(at)_lists.4t2.com> Sent: Tuesday, January 30, 2001 12:43 PM Subject: Antwort: Re: Antwort: Re: Ausgegebene Zeilen zählen lassen? > > Genau, die SQL Abfrage soll mir den Zähler liefern, und nein, ich brauche nicht > unbedingt eine Schleife, da ich an nur einer einzigen Zeile aus dem ResultSet > interessiert bin. > Wenn ich irgendwie von MySQL den Zähler geliefert bekommen hätte, hätte ich mit > einem 2. Select direkt die Zeile ansprechen können die ich brauche - und wenn > ich dazu das ganze in eine temporäre HEAP Tabelle gepackt hätte.... :] > Also das mußt Du jetzt mal genauer erklären. Du suchst eine bestimmte Zeile, auf die Du dann zugreifen willst. Meine Glaskugel sagt, für so etwas gibt es primary keys. Oder ich ich habe Dich gründlich mißverstanden. Gruß, Jens Peter Möller --- *** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql --- *** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive