Benutzerdefinierte Suche

SQL Count und Join

  1. Jakob

    Jakob Thread StarterMacUser Mitglied

    Mitglied seit:
    05.01.2004
    Beiträge:
    1.067
    Zustimmungen:
    21
    Hallo,

    ich habe eine Log-Tabelle der Art
    Stunde des Tages | Herkunftsland
    vereinfacht sähen die Einträge so aus:
    17 | de
    17 | en
    18 | en
    18 | en
    18 | de
    (2 Menschen sind um 17 Uhr auf die Seite gegangen, einer deutsch, der andere englisch, 3 um 18 Uhr usw.)

    Nun möchte ich per SQL-Abfrage folgendes erstellen:

    Uhrzeit | de | en
    17 | 1 | 1
    18 | 2 | 1

    Die Länder stehen nun in den Spalten, pro Uhrzeit eine Zeile. Wie bekomme ich das hin? Es müsste ja irgendwie sowas sein wie:

    Code:
    SELECT Uhrzeit, COUNT(?) as de, COUNT(?) as en
    GROUP BY Uhrzeit
    Leider fehlen mir die Fragezeichen…
    Vielen Dank im Voraus für einen Tipp! Meine in dem Zusammenhang mal was von einem Self Join gehört zu haben, bringt das dort was? Kann's nicht drauf anwenden.
     
    Jakob, 11.10.2006
  2. timbajr

    timbajrMacUser Mitglied

    Mitglied seit:
    22.04.2005
    Beiträge:
    574
    Zustimmungen:
    26
    wenn ichs richtig versteh müsste es mit select count(*) from ... group by uhrzeit, land

    ok falsch verstanden *sorry*
     
    timbajr, 11.10.2006
  3. Jakob

    Jakob Thread StarterMacUser Mitglied

    Mitglied seit:
    05.01.2004
    Beiträge:
    1.067
    Zustimmungen:
    21
    Leider nicht, man bekommt dann wieder so viele Uhrzeiteinträge, wie es zu dieser Stunde Länder gab. Wäre also noch ein „19 | de“ in der Tabelle ergibt dein Code:
    Uhrzeit | Land
    17 | 1
    17 | 1
    18 | 1
    18 | 2
    19 | 1

    Das ist zwar nach Ländern aufgeteilt, aber leider nicht nach Zeilen und nicht Spalten. d.h. die Uhrzeit kommt mehrmals vor, was sie nicht sollte.
     
    Jakob, 11.10.2006
  4. norbi

    norbiMacUser Mitglied

    Mitglied seit:
    14.01.2003
    Beiträge:
    3.506
    Zustimmungen:
    22
    norbi, 11.10.2006
  5. Jakob

    Jakob Thread StarterMacUser Mitglied

    Mitglied seit:
    05.01.2004
    Beiträge:
    1.067
    Zustimmungen:
    21
    Danke für den heißen Tipp :rolleyes:.

    Nen einfaches Stichwort wie Self Join, View oder sonstwas hätte gereicht.
     
    Jakob, 11.10.2006
  6. norbi

    norbiMacUser Mitglied

    Mitglied seit:
    14.01.2003
    Beiträge:
    3.506
    Zustimmungen:
    22
    Wüßte ich es selbst, hätte ich's Dir sofort gesagt...
    Leider weiß ich es nicht, aber glaube, wo es steht.
    Drum der Link.

    Bitte, gerne, kein Problem. ;)

    No.
     
    norbi, 11.10.2006
  7. Jakob

    Jakob Thread StarterMacUser Mitglied

    Mitglied seit:
    05.01.2004
    Beiträge:
    1.067
    Zustimmungen:
    21
    Ah ok, hatte das „No.“ als Auskunftsverweigerung verstanden. Habe erst letztens ein 500-Seiten SQL-Buch gelesen, das Problem scheint mir nur leider nicht trivial. Die richtige URL wäre aber auch http://dev.mysql.com/doc/refman/5.0/en/index.html gewesen ;)
     
    Jakob, 11.10.2006
  8. DeineMudda

    DeineMuddaunregistriert

    Mitglied seit:
    12.05.2005
    Beiträge:
    852
    Zustimmungen:
    72
    SELECT Uhrzeit, Count(*) AS DE FROM xyz WHERE Herkunftsland = 'de' GROUP BY Uhrzeit
    UNION
    SELECT Uhrzeit, Count(*) AS EN FROM xyz WHERE Herkunftsland = 'en' GROUP BY Uhrzeit;
     
    DeineMudda, 11.10.2006
  9. timbajr

    timbajrMacUser Mitglied

    Mitglied seit:
    22.04.2005
    Beiträge:
    574
    Zustimmungen:
    26
    Geh ich richtig davon aus, dass du MySQL verwendest ?
    Ich frage deswegen , weil es - soweit ich weiß - zB unter bestimmten MySQL Versionen noch keine subselects gibt. Auch UNIONS gehen da net

    Mit Selfjoins ? ich denk mal drüber nach :) so spät schon neben Fußball ..
     
    timbajr, 11.10.2006
  10. DeineMudda

    DeineMuddaunregistriert

    Mitglied seit:
    12.05.2005
    Beiträge:
    852
    Zustimmungen:
    72
    Ich glaub, seit 4.1 alpha kann MySQL die meisten "Ferkeleien". Und 5.0 sowieso.
     
    DeineMudda, 11.10.2006
Die Seite wird geladen...
Ähnliche Themen - SQL Count Join
  1. Saugkraft
    Antworten:
    6
    Aufrufe:
    382
    Saugkraft
    04.09.2016
  2. Saugkraft
    Antworten:
    7
    Aufrufe:
    1.895
    Saugkraft
    09.10.2014
  3. Flapy
    Antworten:
    9
    Aufrufe:
    1.837
    falkgottschalk
    29.11.2013
  4. Lerak
    Antworten:
    7
    Aufrufe:
    1.821
Benutzerdefinierte Suche