DarkSQL by Darkleo.com

DarkSQL

Gruppenfunktionen


Nenne die unterschiedlichen Kunden, von denen Rechnungen in der Datenbank existieren (nur Kundennummer) , und je Kunde die Anzahl der Rechnungen

select kunde_nr, count(*)
from
rechnungen
group by kunde_nr;

Nenne den durchschnittlichen Rabatt je Kunde, den er bei seinen Aufträgen des Jahres 2001 erhalten hat, wenn dieser größer als 5% ist.

select kunde_nr, avg(rabatt)
from
auftraege
where auftrag_datum between '01-01-2001' and '31-12-2001'
group by kunde_nr
having avg(rabatt) > 5;

Ermitteln Sie aus den Auftragspositionen je Auftrag die Auftragsnummer und die gesamte gelieferte Menge des Auftrages (gelieferte_menge), wenn diese größer 0 ist.

 

select auftrag_nr, sum(gelieferte_menge)
from auftragspositionen
group by auftrag_nr
having sum(gelieferte_menge) > 0;

Nennen Sie das höchste Kreditlimit aller Kunden der Kundengruppe 1 oder 7

select max(kreditlimit)
from kunden
where kundengruppe in (1,7);

Berechnen Sie die Summe der Rechnungsbeträge je Kunde, Ausgabe nur, wenn diese größer 0 ist.

select kunde_nr, sum(rechnung_betrag)
from rechnungen
group by kunde_nr
having sum(rechnung_betrag) > 0;

Welche Kunden haben mehr als einen Auftrag abgeschlossen, der dem Vertreter 3 zugeordnet ist (Kundennummer, Anzahl)

select kunde_nr, count(*)
from auftraege
where vertreter_nr = 3
group by kunde_nr
having count(*) > 0;

Was ist der höchste Betrag aller Rechnungen, die bereits gemahnt wurden.

select max(rechnung_betrag)
from rechnungen
where datum_mahnung is not null;

Bilde die Summe aller Rechnungsbeträge je Auftrag sowie aller Zahlbeträge je Auftrag sowie die Differenz zwischen beiden. Gib diese Daten mit der Auftragsnummer und der Kundennummer nach Kundennummer aufsteigend und innerhalb der Kundennummer nach der Differenz absteigend sortiert aus. Gib nur Aufträge aus, bei denen der Absolutbetrag der Differenz größer 1 Euro ist.

 

select auftrag_nr, kunde_nr,
 sum(rechnung_betrag),
 sum(zahlbetrag_gesamt),
 sum(rechnung_betrag) –sum(zahlbetrag_gesamt)
from rechnungen
group by auftrag_nr, kunde_nr
having sum(rechnung_betrag) – sum(zahlbetrag_gesamt) > 1;

Bilde je Kunde (Kundennummer) die maximale Differenz zwischen Rechnungsdatum und Zahldatum seiner Rechnungen.

 

select kunde_nr,  max(rechnung_datum-zahldatum)
from rechnungen
group by kunde_nr;