[SQL allgemein] Daten ausgrezen

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

  • [SQL allgemein] Daten ausgrezen

    Hallo ich habe eine Datebank table mit zb folgender Struktur

    Code:
    |id|umfrage_id|frage_id|antwort_id|user_id|session_id|...
    -------------------------------------------------------------------------
    Nun würde ich gerne die gesamten stimmen aus einer umfrage ermitteln. Eine umfrage kann aber aus mehreren fragen bestehen und aus mehreren Antworten, wo auch eine mehrfachauswahl möglich ist. Das heist eine stimme kann aus zb aus 3 unterstimmen bestehen. Ich könnte natürlich alle Stimmen anhand der umfrage_id auslesen doch wären diese dann ja nicht die genau stimmen anzahl. Nun könnte ich die zb anhand der User_id und der session_id im script filtern. Das ist mir jedoch zu aufwendig gibt es eine möglichkeit in einer mysql abfrage bestimmte felder am widerholen zu hindern?

    also sowas wie:

    Wenn umfrage_id == umfrage_id_script und session_id und user_id nur einmal zählen und nicht wiederholen

    Ich hoffe es wird verstanden was ich meine

  • #2
    wenn ein User nur einmal an einer Umfrage teilnehmen kann, so müsste sich mittels folgendem was machen lassen
    PHP-Code:
    SELECT
     SUM
    (anzahl)
    FROM
     
    (SELECT
      COUNT
    (DISTINCT(user_id)) AS anzahl
     FROM
      table
     GROUP BY
      frage_ID
     WHERE umfrage_id 
    2
    ungetestet, aber irgendwie in der Richtung...

    Kommentar


    • #3
      ich habe die abfrage zwar anders gestalltet aber DISTINCT hat mir dabei viel geholfen!

      danke!

      Kommentar

      Lädt...
      X