mysql: GROUP BY aber mehrere verschiedene werte
kleinerChemiker 20.12.2004 - 13:55 1289 6
kleinerChemiker
Here to stay
|
im table steht u.a. der unixtimestamp. da ungefähr einmal pro minute ein wert eingefügt wird, sind die natürlich alle anders. nun würde ich gerne mehrere zeilen gruppieren, z.b. in 5-minuten intervallen (sprich ich geb nen startwert an und ein intervall und dann wird vom startwert ausgehend alles in diese intervalle gruppiert [startwert+n*300; n=1,2,3,4,...]). kann man das direkt mittels mysql machen oder muß ich alles auslesen und dann mit php gruppieren?
tia
MIK
|
Moesli
goes Linux
|
im table steht u.a. der unixtimestamp. da ungefähr einmal pro minute ein wert eingefügt wird, sind die natürlich alle anders. nun würde ich gerne mehrere zeilen gruppieren, z.b. in 5-minuten intervallen (sprich ich geb nen startwert an und ein intervall und dann wird vom startwert ausgehend alles in diese intervalle gruppiert [startwert+n*300; n=1,2,3,4,...]). kann man das direkt mittels mysql machen oder muß ich alles auslesen und dann mit php gruppieren?
tia
MIK mittels mysql ist mir keine möglichkeit bekannt vielleicht gibt es sie,.. ich machs immer mit php,..
|
watchout
Legendundead
|
5 minuten sind 5*60=300, also nimmst einfach select FLOOR(`timestamp`/300) as `grouped` [...] GROUB BY `grouped`
|
kleinerChemiker
Here to stay
|
doppelpost
Bearbeitet von kleinerChemiker am 20.12.2004, 17:43 (doppelpost)
|
kleinerChemiker
Here to stay
|
thx, eine gute idee. und damit man den startpunkt des intervalls auch noch festlegen kann, könnte man doch auch gleich SELECT FLOOR(('timestamp'-'starttime')/300) AS ....
MIK
|
watchout
Legendundead
|
thx, eine gute idee. und damit man den startpunkt des intervalls auch noch festlegen kann, könnte man doch auch gleich SELECT FLOOR(('timestamp'-'starttime')/300) AS ....
MIK ne, das funktioniert irgendwie nicht, den start/endpunkt musst eher mit "where timestamp<... and timestamp>..." ps: ' funkt bei feldnamen imho nicht, nur `
|
kleinerChemiker
Here to stay
|
hmm, schade daß es nicht geht. weshalb ich das nicht ins where packen wollte ist, weil wenn ich z.b. 10 oder 15 minuten nehme, dann kanns liecht vorkommen, daß in die erste gruppe nur ein wert einfließt, weil der zweite schon zur nächsten gruppe kommt. subtrahiere ich aber den anfangspunkt vom timestamp, sollten es immer die gleiche anzahl sein (wenn die abstände zwischen den einzelnen timestamps gleich wären)
MIK
|