gustl: ORDER BY vor GROUP by

Beitrag lesen

moinMoin(*)

SELECT t1.* FROM (SELECT v1+v2 combined_t, MAX(time) time FROM t1 GROUP BY v1+v2) grp INNER JOIN t1 ON t1.v1+t1.v2 = combined_t AND t1.TIME = grp.time;

herrje, eh schon verwirrend. dazu kommt die DBI-schnittstelle von perl. wie sollte der subselect denn für die DBI geschrieben aussehen?

$s1=$dbh->prepare('SELECT t1.* FROM ($s2=$dbh->prepare('SELECT v1+v2 comb ... 
$s1->execute(x) ... $s2->execute(x) ... ???

also da steig ich jetzt gar nicht mehr durch.

vermutlich werde ich halt GROUP BY nicht verwenden und irgendwie die ergebnisse nur ORDER BY time DESC aber nicht gruppiert in eine @liste schreiben und diese liste so lange manipulieren bis aus JEDER TEILMENGE die datensätze älteren datums raus sind. was sagt denn der RegEXP*** experte dazu?

dabei ist aber bisschen schwierig dass in der teildatenmenge diejenigen DS zusammengefasst werden müssen die ich ja eigentlich mit GROUP BY zusammenfassen wollte.

kundennummer nach der ich suche ist angenommen 200 (v1+v2 sind kundennummern, v3 ist der timestamp).

DS1: 100;200;4999 (200 kommt vor, ist älter) DS2: 100;200;5000 (200 kommt vor, ist der jüngste) DS3: 200;100;4998 (200 kommt vor, ist älter) ... datensatz-kombination aus 200 und 100 - oder 100 und 200, wenn der jüngste (also hier DS2) übernehmen

DS4: 90;200;12000 (200 kommt vor, ist älter) DS5: 200;90;12521 (200 kommt vor, ist der jüngste) DS6: 200;100;7896 (200 kommt vor, ist älter) ... datensatz-kombination aus 200 und 90 - oder 90 und 200, wenn der jüngste (also hier DS5) übernehmen

und so weiter ... DS7: 300;200;12345 (kombi im DS10 und DS7, der jüngste) > übernehmnen DS8: 88;200;12346 (kombi im DS11 und DS8, der jüngste) > übernehmen DS9: 200;9;87423 (kommt nur ein mal vor) > übernehmen DS10: 200;300;9000 (kombi im DS10 und DS7, nicht der jüngste) > nicht übernehmnen DS11: 200;88;7896 (kombi im DS11 und DS8, nicht der jüngste) > nicht übernehmen DS12 ... und so weiter

ich muss also im Grunde: DS1 mit allen anderen vergleichen, DS2 mit allen anderen vergleichen ... etc.

wir hatten doch mal einen regExp experten hier im forum oder? regExp ist für mich als schachteldenker echt schwer. oft gehts und ich weiss gar nicht recht wieso eigentlich.

gruss gustl