Mailinglisten-Archive |
Hallo Marco, bitte beachte Deine Formatierung der Email. Absätze, Groß- und Kleinschreibung sind nicht umsonst im Deutschen üblich. (Weitere Hinweise auf den Internetseiten der Mailingliste!) Zitiere Marco Kitsche <marco.kitsche at chemie.tu-dresden.de>: > meine datenbank enthält z.B 2 Spalten eine Spalte Benutzer_id und eine > Spalte Punkte. > z.B > 1 10 > 2 6 > 1 7 > 2 2 > 3 0 > 4 5 > usw. also jede benutzer_id hat verschiedene Anzahl von Punkten. nun > möchte > ich die summe der besten 8 Punkte jeder benutzer_id berechnen. > bis jetzt hab ich es mit einem group by benutzer_id probiert. das > problem > ist das ich dann nur die komplette summe ausrechnen kann. wenn ich es > mit > limit limitieren will dann limitiert es die benutzer_id > meine jetzige abgrage war: > select benutzer_id,sum(punkte) from tbl_ergebnisse group by benutzer_id Von SQL her, ist das meiner Meinung nur etwas umständlich möglich. Du brauchst dazu MySQL in einer Version 4.x (in 3.x gibt es keine Unterabfragen). Hier mein Versuch (ich kann es auf einem 3.x selbst nicht probieren): SELECT `o`.`benutzer_id`, SUM(`o`.`punkte`) FROM `tbl_ergebnisse` AS `o` WHERE `o`.`punkte` IN (SELECT `k`.`punkte` FROM `tbl_ergebnisse` AS `k` WHERE `k`.`benutzer_id` = `o`.`benutzer_id` ORDER BY `k`.`punkte` DESC LIMIT 0, 8) GROUP BY `o`.`benutzer_id`; Grüße, Christoph -- Fingerprint=65B7 73B6 5969 AC2B 4572 39A2 0DBC DAC1 3D6A 45B7 email auch: chw- at gmx.de / mai01dzr at ... -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive