COUNT() - Problem

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

  • COUNT() - Problem

    Hallo,

    leider ist mir keine bessere Überschrift eingefallen.

    Mein Problem ist folgendes:
    Ich habe eine Tabelle, in der mehrere Einträge mit dem selben Timestamp gespeichert werden.

    PHP-Code:
    CREATE TABLE abiplatt_quiz_stat (
      
    stat_id bigint(20NOT NULL,
      
    quiz_id int(11NOT NULL default '0',
      
    user_id int(11NOT NULL default '0',
      
    question_id bigint(20NOT NULL,
      
    antworten text NOT NULL,
      `
    timestampvarchar(12NOT NULL,
      
    PRIMARY KEY  (stat_id)
    TYPE=MyISAM
    und natürlich die Einträge:

    PHP-Code:
    INSERT INTO abiplatt_quiz_stat (stat_idquiz_iduser_idquestion_id,
    antwortentimestamp)
    VALUES (1111'r__Pommes@r__Pizza''1149239758');
    INSERT INTO abiplatt_quiz_stat (stat_idquiz_iduser_idquestion_id,
    antwortentimestamp)
    VALUES (2112'r__Fussball@f__Auto''1149239758');
    INSERT INTO abiplatt_quiz_stat (stat_idquiz_iduser_idquestion_id,
    antwortentimestamp)
    VALUES (3113'f__Mercedes''1149239758');
    INSERT INTO abiplatt_quiz_stat (stat_idquiz_iduser_idquestion_id,
    antwortentimestamp)
    VALUES (4114'f__Fehler''1149239758'); 
    Wie man sieht, sind überall die Timestamps gleich.
    Bei der nächsten Eintragung wäre es ein neuer Timestamp.

    Ich möchte nun in der Übersicht, in der die Quizze angezeigt werden auch angeben, wieviele Teilnehmer es gibt.
    Dabei muss beachtet werden:
    a) quiz_id
    b) user_id
    c) timestamp

    Irgendwie stehe ich derzeit auf dem Schlauch mit der Count()-Abfrage: Er gibt mir immer 4 aus!

    SELECT COUNT(stat_id) FROM abiplatt_quiz_stat WHERE quiz_id = 1 GROUP BY timestamp;

    Ich hab auch schon anstatt timestamp user_id, quiz_id getestet, aber immer nur 4!

    Wo liegt der Fehler?

    Vielen Dank

  • #2
    COUNT (DISTINCT user_id), laut manual.

    Kommentar


    • #3
      Re: COUNT() - Problem

      Original geschrieben von Lukas Schulze
      Ich hab auch schon anstatt timestamp user_id, quiz_id getestet, aber immer nur 4!
      ehm ... ja, das ist was du Abfragst und was die Daten hergeben! Oo,

      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
      Wie man Fragen richtig stellt

      Kommentar


      • #4
        Hi,

        @phoenix20: genau das hab ich gebraucht!

        Es geht ja darum, die Anzahl der verschiedenen Timestamps eines Quizzes zu ermitteln. Folglich muss es nach quiz_id gruppiert sein (stand da gestern auf dem Schlauch)!
        Und durch COUNT(DISTINCT timestamp) ... GROUP BY quiz_id gibt er mir die korrekte Anzahl wieder!

        Vielen Dank

        Kommentar

        Lädt...
        X