ahoi!
ich hoffe ihr könnt mir helfen, weil ich inzwischen den wald vor bäumen nicht mehr seh...
mein system: debian server mit mysql 5.1 und php 5.2
ich habe folgende tabelle ("buchungen") mit den feldern:
dann gibt es noch eine tabelle mit den userdaten ("profil"):
und eine tabelle die als klickcounter fungiert und auch so heisst
es kann ein datumsbereich gewählt werden und ich möchte für diese zeitspanne eine "top10" erstellen die mir folgende daten ausgibt:
* name und email (aus "profil")
* anzahl der klicks (aus "klickcounter") dieses users im datumsbereichs
* u_id (aus "buchungen")
* vorkommen mit der "e_id" = 1 für diesen user im datumsbereich (aus "buchungen")
* vorkommen mit der "e_id" = 2, 3, 4 für diesen user im datumsbereich (aus "buchungen")
* vorkommen mit der "e_id" >= 1000 <= 2000 für diesen user im datumsbereich (aus "buchungen")
* vorkommen mit der "e_id" >= 2000 <= 3000 für diesen user im datumsbereich (aus "buchungen")
* summe aller "wert" felder für diesen user im datumsbereich (aus "buchungen")
* summe aller "erg" felder für diesen user im datumsbereich (aus "buchungen")
mein bisheriger ansatz sieht so aus:
damit bekomme ich immerhin die anzahl der vorkommen von e_id=1 und die entsprechende summe von "wert" und "gesamt" (und namen und email natürlich)
mit angepasster where klausel erhalte ich natürlich auch die werte für die anderen events, aber wie bringe ich das alles in einen query?! falls das überhaupt möglich ist...
also, ich hätte gerne meine top10 ausgabe mit einem query erschlagen (idealerweise auch noch die abfrage des klickcounters)
geht das? und wo ist mein denkfehler? ich sitz da jetzt jedenfalls schon 2 tage dran und komm nicht weiter...
ich hoffe ihr könnt mir helfen, weil ich inzwischen den wald vor bäumen nicht mehr seh...
mein system: debian server mit mysql 5.1 und php 5.2
ich habe folgende tabelle ("buchungen") mit den feldern:
PHP Code:
id => unique, primary und autoincrement,
e_id => id eines events
u_id => id des users
wert => ganzzahliger wert
pro => ganzzahliger wert (prozente)
erg => ganzzahliger wert (ergebnis aus prozente von wert)
datum => yyyy-mm-dd h:i:s
PHP Code:
id => id des users
name => varchar
email => varchar
usw...
PHP Code:
id =>
u_id => id des users
datum => yyyy-mm-dd
std => volle stunde des klicks (also 0-23)
cnt => der zähler
* name und email (aus "profil")
* anzahl der klicks (aus "klickcounter") dieses users im datumsbereichs
* u_id (aus "buchungen")
* vorkommen mit der "e_id" = 1 für diesen user im datumsbereich (aus "buchungen")
* vorkommen mit der "e_id" = 2, 3, 4 für diesen user im datumsbereich (aus "buchungen")
* vorkommen mit der "e_id" >= 1000 <= 2000 für diesen user im datumsbereich (aus "buchungen")
* vorkommen mit der "e_id" >= 2000 <= 3000 für diesen user im datumsbereich (aus "buchungen")
* summe aller "wert" felder für diesen user im datumsbereich (aus "buchungen")
* summe aller "erg" felder für diesen user im datumsbereich (aus "buchungen")
mein bisheriger ansatz sieht so aus:
PHP Code:
SELECT
count(a.u_id) AS anzahl_e1,
sum(a.wert) AS wert,
sum(a.erg) AS ergebnis,
a.u_id,
b.name,
b.email
FROM
buchungen a,
profil b
WHERE
a.e_id = 1 AND
a.datum >= '".$dp1."' AND
a.datum <= '".$dp2."' AND
a.u_id = b.u_id
GROUP BY
a.u_id
ORDER BY
wert DESC
LIMIT 10
mit angepasster where klausel erhalte ich natürlich auch die werte für die anderen events, aber wie bringe ich das alles in einen query?! falls das überhaupt möglich ist...
also, ich hätte gerne meine top10 ausgabe mit einem query erschlagen (idealerweise auch noch die abfrage des klickcounters)
geht das? und wo ist mein denkfehler? ich sitz da jetzt jedenfalls schon 2 tage dran und komm nicht weiter...
Comment