phpbar.de logo

Mailinglisten-Archive

Re: Ausgegebene Zeilen zählen lassen?
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Ausgegebene Zeilen zählen lassen?





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 


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive