[MySQL 4.0] Mysql Abfrage über zwei Tabellen mit SUM und Count

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [MySQL 4.0] Mysql Abfrage über zwei Tabellen mit SUM und Count

    Hallo,

    ich habe folgende zwei tabellen und arbeite mit PHP:

    `buchungen` (
    `id` int(11) NOT NULL auto_increment,
    `label_id` int(11) NOT NULL default '0',
    `film_id` int(11) NOT NULL default '0',
    `benutzer_id` int(11) NOT NULL default '0',
    `buchungen_ratio` int(11) NOT NULL default '0',
    `buchungen_betrag` float NOT NULL default '0',
    `buchungen_typ` int(11) NOT NULL default '0',
    `buchungen_timestamp` int(11) NOT NULL default '0',
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

    und
    `film` (
    `id` int(11) NOT NULL auto_increment,
    `film_titel` varchar(200) NOT NULL default '',
    `film_bestellnr` varchar(100) NOT NULL default '',
    `film_label` int(11) NOT NULL default '0',
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

    Jetzt frage ich mich ob es möglich ist in einer Abfrage folgendes zu erfahren
    - aus Table "Film" film_titel und film_bestellnr
    - aus Table buchungen die Anzahl der Zeilen bei denen film.id = buchungen.film_id
    - aus Table buchungen die Summe von buchungen_betrag*buchung_ratio bei denen film.id = buchungen.film_id

    Also es sollte dann z.b. rauskommen

    Bestell-nr, Titel, Buchungen gesamt, Gesamtbetrag der Buchungen
    1234534, Der Filmtitel, 13, 150,23


    Vielen Dank schonmal!

  • #2
    Habe die Abfrage wohl rausbekommen:

    SELECT t1.film_titel, COUNT( t2.film_id ) , SUM( t2.buchungen_betrag /100 * t2.buchungen_ratio )
    FROM film t1
    INNER JOIN buchungen t2 ON t1.id = t2.film_id
    GROUP BY t2.film_id

    NUN frage ich mich aber wie kann ich jetzt nach der Summe oder dem Count sortieren, also auf- bzw. absteigend

    Kommentar


    • #3
      SELECT t1.film_titel, COUNT( t2.film_id ) AS c, SUM( t2.buchungen_betrag /100 * t2.buchungen_ratio ) AS s
      FROM film t1
      INNER JOIN buchungen t2 ON t1.id = t2.film_id
      GROUP BY t2.film_id
      ORDER BY c
      Assembler ist eine Methode,
      Programme, die zu langsam laufen,
      so umzuschreiben,
      dass sie überhaupt nicht mehr laufen.

      Kommentar

      Lädt...
      X