SELECT fluglinie.*, COUNT(flug.flug_id) AS Fluge FROM fluglinie
	JOIN flug ON flug.fluglinie_id = fluglinie.fluglinie_id
	GROUP BY fluglinie.fluglinie_id
	ORDER BY Fluge;
SELECT flugzeug_typ.typ_id, flugzeug_typ.bezeichnung, COUNT(flug.flug_id) AS Fluge FROM flugzeug_typ
	JOIN flugzeug ON flugzeug_typ.typ_id = flugzeug.typ_id
	JOIN flug ON flugzeug.flugzeug_id = flug.flugzeug_id
	GROUP BY flugzeug_typ.typ_id
	ORDER BY Fluge;
SELECT fluglinie.*, COUNT(buchung.buchung_id) AS Passagiere FROM fluglinie
	JOIN flug ON flug.fluglinie_id = fluglinie.fluglinie_id
	JOIN buchung ON flug.flug_id = buchung.flug_id
	GROUP BY fluglinie.fluglinie_id
	ORDER BY Passagiere;
SELECT flugzeug_typ.typ_id, flugzeug_typ.bezeichnung, COUNT(buchung.buchung_id) AS Passagiere FROM flugzeug_typ
	JOIN flugzeug ON flugzeug_typ.typ_id = flugzeug.typ_id
	JOIN flug ON flugzeug.flugzeug_id = flug.flugzeug_id
	JOIN buchung ON flug.flug_id = buchung.flug_id
	GROUP BY flugzeug_typ.typ_id
	ORDER BY Passagiere;
SELECT flugzeug.*, flugzeug_typ.bezeichnung, COUNT(flug.flug_id) AS Fluge FROM flugzeug
	JOIN flugzeug_typ ON flugzeug.typ_id = flugzeug_typ.typ_id
	JOIN flug ON flugzeug.flugzeug_id = flug.flugzeug_id
	GROUP BY flugzeug.flugzeug_id
	ORDER BY Fluge DESC LIMIT 1;
SELECT flugzeug.*, flugzeug_typ.bezeichnung, COUNT(flug.flug_id) AS Fluge FROM flugzeug
  JOIN flugzeug_typ ON flugzeug.typ_id = flugzeug_typ.typ_id
  JOIN flug ON flugzeug.flugzeug_id = flug.flugzeug_id
  GROUP BY flugzeug.flugzeug_id
  HAVING Fluge = 
   (SELECT MAX(Fluge) FROM
     (SELECT COUNT(flug.flug_id) AS Fluge FROM flugzeug
        JOIN flug ON flugzeug.flugzeug_id = flug.flugzeug_id
        GROUP BY flugzeug.flugzeug_id
     ) AS F
   );
SELECT flugzeug.*, flugzeug_typ.bezeichnung, COUNT(buchung.buchung_id) AS Passagiere FROM flugzeug
	JOIN flugzeug_typ ON flugzeug.typ_id = flugzeug_typ.typ_id
	JOIN flug ON flugzeug.flugzeug_id = flug.flugzeug_id
	JOIN buchung ON flug.flug_id = buchung.flug_id
	GROUP BY flugzeug.flugzeug_id
	ORDER BY Passagiere DESC LIMIT 1;
SELECT flugzeug.*, flugzeug_typ.bezeichnung, COUNT(buchung.buchung_id) AS Passagiere FROM flugzeug
  JOIN flugzeug_typ ON flugzeug.typ_id = flugzeug_typ.typ_id
  JOIN flug ON flugzeug.flugzeug_id = flug.flugzeug_id
  JOIN buchung ON flug.flug_id = buchung.flug_id
  GROUP BY flugzeug.flugzeug_id
  HAVING Passagiere =
   (SELECT MAX(Passagiere) FROM
     (SELECT COUNT(buchung.buchung_id) AS Passagiere FROM flugzeug
        JOIN flug ON flugzeug.flugzeug_id = flug.flugzeug_id
        JOIN buchung ON flug.flug_id = buchung.flug_id
        GROUP BY flugzeug.flugzeug_id
     ) AS T
   );
SELECT passagier.*, COUNT(buchung.buchung_id) AS Fluge FROM passagier
  JOIN buchung ON passagier.passagier_id = buchung.passagier_id
  GROUP BY passagier.passagier_id
  ORDER BY Fluge DESC LIMIT 10;
SELECT f1.name, f1.stadt, f1.land, ST_DISTANCE(f1.geolokation, 
   (SELECT f2.geolokation FROM flughafen_geo f2 WHERE name = 'MUNICH'
   )) AS Entfernung FROM flughafen_geo f1
   WHERE name <> 'MUNICH'
   ORDER BY Entfernung LIMIT 20;
SELECT flug.*, SUM(buchung.preis) AS Betrag FROM flug
  JOIN buchung ON flug.flug_id = buchung.flug_id
  GROUP BY flug.flug_id
  ORDER BY Betrag DESC LIMIT 5;
SELECT flug.*, AVG(buchung.preis) AS Betrag FROM flug
  JOIN buchung ON flug.flug_id = buchung.flug_id
  GROUP BY flug.flug_id
  ORDER BY Betrag DESC LIMIT 5;
SELECT DISTINCT passagier.*, passagierdetails.geburtsdatum FROM passagier
  JOIN passagierdetails ON passagier.passagier_id = passagierdetails.passagier_id
  JOIN buchung ON passagier.passagier_id = buchung.passagier_id
  JOIN flug ON flug.flug_id = buchung.flug_id
  JOIN flugzeug ON flugzeug.flugzeug_id = flug.flugzeug_id
  JOIN flugzeug_typ ON flugzeug.typ_id = flugzeug_typ.typ_id
  WHERE flugzeug_typ.bezeichnung LIKE '%A330%'
    AND nachname <> ''
    AND MONTH(passagierdetails.geburtsdatum) = 1
  ORDER BY nachname, vorname LIMIT 100;
SELECT DISTINCT passagier.* FROM passagier
  JOIN buchung ON passagier.passagier_id = buchung.passagier_id
  JOIN flug ON flug.flug_id = buchung.flug_id
  JOIN flugzeug ON flugzeug.flugzeug_id = flug.flugzeug_id
  JOIN flugzeug_typ ON flugzeug.typ_id = flugzeug_typ.typ_id
  WHERE flugzeug_typ.bezeichnung LIKE '%A330%'
    AND nachname <> ''
    AND buchung.sitzplatz = '10A'
  ORDER BY nachname, vorname LIMIT 100;




