Tut mir leid, wenn meine Frage irrelevant ist. Weil ich kein Experte für MySQL bin.Mysql Prozentsatz der ausgewählten Zeilen berechnen
Ich habe Umfragen auf meiner Website. Wenn jemand meine Umfrage abstimmt, möchte ich die Umfrageergebnisse dem Wähler zeigen.
Hier ist die DB Struktur;
surveys
Tabelle (Enthält Umfrage Name Beschreibung und survey_id
)
survey_choices
Tabelle (Enthält Umfrage chocies und im Zusammenhang mit survey_id
zu Surveys Tabelle)
Ich versuche nur die prozentuale Auswahl der sichtbaren Umfrage zu berechnen.
Wenn ich nur 1 Umfrage habe, berechnet es korrekte Ergebnisse. Aber wenn ich mehr als 1 Umfrage habe, berechnet MySQL die ganzen survey_vote_count
Werte aller Tabellen.
Hier ist meine MySQL-Abfrage;
SELECT
survey_vote_id, survey_vote_name, survey_vote_count, survey_id,
survey_vote_count * 100/t.s AS survey_percentage
FROM survey_votes
CROSS JOIN (SELECT SUM(survey_vote_count) AS s FROM survey_votes) t
WHERE visibility = :visibility
AND survey_id = :surveyId
ORDER BY `survey_votes`.`order_id` ASC
Wie kann ich für zB berechnen nur survey_id = 1 and visibility = 1
% Prozentsatz =% 100?
Jede Hilfe wird sehr geschätzt.
Hallo danke für deine Antwort. Aber wie? SELECT SUM (survey_vote_count) AS s VON survey_votes WHERE survey_id = surveyId und Sichtbarkeit == Sichtbarkeit'? – HddnTHA
Sieht nach rechts. – TigOldBitties
Es hat funktioniert, vielen Dank (: – HddnTHA