phpbar.de logo

Mailinglisten-Archive

Gruppierung einer komplexen SELECT-Anweisung

Gruppierung einer komplexen SELECT-Anweisung

Hans Bickel mysql-de_(at)_lists.bttr.org
Tue, 16 Apr 2002 08:53:22 +0200


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