Mailinglisten-Archive |
Marc Mc Guinness wrote: > Hallo! > > Ich habe eine Tabelle, die wie folgt aufgebaut ist (nur die > relevanten Felder): > > "data" enthält das Datum des Eintrags. > "src_ip" enthält eine IP-Adresse von dem Sender-Host. > "dst_ip" enthält eine IP-Adresse von dem Empfänger-Host > "data_size" enthält die transferierten Daten der Session > > Mit folgender Anweisung hole ich mir derzeit eine Übersicht der > gesamten gesendeten Daten aller Hosts: > > SELECT src_ip AS 'Host', SUM(data_size) AS > 'Gesendete Bytes',MIN(data) AS 'vom', MAX(data) AS 'bis' FROM > accounting GROUP BY src_ip ORDER BY 'Gesendete Bytes' DESC; > > Die Ausgabe sieht in etwas so aus: > > "Host" "Gesendete Bytes" "vom" "bis" > 10.10.10.10 1532322 2002-04-08 2002-04-12 > 12.12.12.12 2347 2002-04-12 2002-04-12 > usw.... > > Nun möchte ich aber mit Hilfe dieser SELECT-Anweisung auch alle > Daten holen, die dieser Host empfangen hat. Die Darstellung soll > dann um die Spalte "Empfangene Bytes" ergänzt werden. > > Es soll also einmal die data_size summiert werden, wo ein Host in > src_ip steht und dann nochmal die data_size summiert werden, wo > derselbe Host in dst_ip steht. > > Ich muss das unbedingt in einer SELECT-Anweisung erledigen, weil > ich die Klasse für die Darstellung nicht verändern darf. > Hallo Marc, ich kann dir nur ein wenig Trost spenden: GEHT NICHT mit nur einem SELECT (meiner Meinung nach). Du bräuchtest sowohl eine Gruppe von src_ip als auch eine Gruppe von dst_ip um die entsprechende data_size summieren zu können. Es ginge nur, wenn du eine neue Tabelle aus den beiden Summen machen könntest. (1x CREATE TABLE FROM..., 2x INSERT INTO..., 1x SELECT...). Grüsse Hans --- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive