2016-09-22 6 views
-1

connection_tablebenötigen einfache Postgres-Abfrage für verschachtelte Auswahlabfrage

 
    app | src_port | dst_port | src_ip | dst_ip | time | L1 | L2 
----------+-----------+----------+----------+---------+-------+-----+---- 
    HTTP | 100  | 200  | x  | y  | t1 | 1 | 0  
    HTTPS | 101  | 300  | x  | y  | t1 | 1 | 0 
    HTTP | 102  | 200  | a  | b  | t2 | 0 | 1 
    HTTP | 100  | 200  | x  | y  | t2 | 1 | 0 
    HTTP | 100  | 200  | x  | y  | t3 | 1 | 0 
    HTTP | 111  | 200  | x  | y  | t4 | 1 | 0 

Ergebnis

 
    app | sum(L1) | sum(L2) 
----------+----------+-------- 
    HTTP | 2  | 1 
    HTTPS | 0  | 1 

Abfrage

select app_table.app, 
     SUM(app_table.L1), 
     SUM(app_table.L2) 
from (
    select app, L1, L2 
    from connection_table 
    group by app, src_port, dst_port, src_ip, dst_ip 
) as app_table 
group by app_table.app; 

Th Die obige Abfrage wird verwendet, um das Ergebnis zu erhalten. Ich brauche eine Abfrage ohne geschachtelte Auswahl?
Hier identifiziert src_port, dst_port, src_ip und dst_ip eindeutig eine App. Sie müssen die Gesamtanzahl L1 und L2 für jede App zählen.

+0

Sind Sie wirklich alle diese dbms hier ist? (Markieren Sie keine Produkte, die nicht beteiligt sind.) – jarlh

+0

Was ist falsch bei der Verwendung der abgeleiteten Tabelle? –

+0

Einfache Abfrage passt nur in meine Anwendung. Wenn dies der einzige Weg ist, um das Ergebnis zu erhalten, ist es in Ordnung. – Kranthi

Antwort

0

Verwenden Gruppe von:

Hinweis: Ihr Ausgang scheint falsch.

SELECT 
    app, 
    SUM(L1) AS L1, 
    SUM(L2) AS L2 
FROM connection_table T 
GROUP BY T.app 

Ausgang:

enter image description here

+0

Dies wird rein Gruppen nur nach App. Nicht die richtige Lösung. – Kranthi

+0

es sieht aus wie Ihre endgültige Ausgabe, ist Ihre Ausgabe anders als meine Antwort? –

+0

Ihre Ausgabe ist korrekt, funktioniert aber nicht für die angegebene Anforderung. Können Sie mit mehreren Einträgen mit unterschiedlichen "src_port" und mit derselben Anwendung überprüfen? – Kranthi

Verwandte Themen