SkiD: [MYSQL 5.1.41] Unterschiedliche Werte in zwei Spalten auflisten

Hallo zusammen,

ich stehe derzeit irgendwie vor dem Problem, dass ich es nicht schaffe allen unterschiedlichen Werte von zwei Tabellen aufzulisten.

D.h. ich habe folgende Tabelle mit Werten und Spalten:
date       class
2000-02-03 1
2001-02-03 1
2000-02-03 2
2000-02-03 1
2005-12-12 1
2013-05-11 2
2013-05-11 1
2002-09-29 1

Mit dem folgenden Befehl bekomme ich schon mal alle unterschiedlichen Daten heraus, jedoch wird hierbei die unterschiedliche Klasse nicht berücksichtigt:
select date, count(date) as cnt from tst_table_a group by date

Das Ergebnis sieht so aus:
date       cnt
2000-02-03 3
2001-02-03 1
2002-09-29 1
2005-12-12 1
2013-05-11 2

Jedoch sollte für jede Klasse extra gezählt werden, für jedes Datum!
D.h. so sollte es aussehen:
date       cnt      class
2000-02-03 2        1
2000-02-03 1        2
2001-02-03 1        1
2002-09-29 1        1
2005-12-12 1        1
2013-05-11 1        1
2013-05-11 1        2

Kann mir jemand dabei helfen die Lösung zu finden ?

Beste Grüße,
SkiD.

  1. moin,

    ich stehe derzeit irgendwie vor dem Problem, dass ich es nicht schaffe allen unterschiedlichen Werte von zwei Tabellen aufzulisten.

    ich sehe bisher nur eine tabelle....

    select date, count(date) as cnt from tst_table_a group by date
    Jedoch sollte für jede Klasse extra gezählt werden, für jedes Datum!

    was hindert dich daran, die group by klausel zu erweitern und die spalte klasse noch mit rein zu nehmen ?

    SELECT date, class, count(date) cnt
    FROM tst_table_a
    GROUP BY date, class
    ;

    Ilja

    1. moin,

      ich stehe derzeit irgendwie vor dem Problem, dass ich es nicht schaffe allen unterschiedlichen Werte von zwei Tabellen aufzulisten.

      ich sehe bisher nur eine tabelle....

      select date, count(date) as cnt from tst_table_a group by date
      Jedoch sollte für jede Klasse extra gezählt werden, für jedes Datum!

      was hindert dich daran, die group by klausel zu erweitern und die spalte klasse noch mit rein zu nehmen ?

      SELECT date, class, count(date) cnt
      FROM tst_table_a
      GROUP BY date, class
      ;

      Ilja

      Ich habe es gerade gemerkt ;)
      Danke dir dennoch für deine Hilfe! :o)

  2. Also manchmal sieht man den Wald vor lauter Bäumen nicht mehr ... hier die Lösung:

    select class, date, count(date) as cnt from tst_table_a group by date, class