Zunächst einmal zu analysieren, habe ich nach einer Antwort zu suchen versucht, aber ehrlich gesagt nicht genau wissen, was für ...SQL Query Ergebnisse der Umfrage
ich einen Datensatz zu suchen haben ich in SQL Server importiert haben und müssen brauchbare Daten daraus erhalten. Hier das Format ...
Teacher Period Question1 Question2 Question3
Jane Doe 1 Agree Agree Strongly Agree
Jane Doe 2 Disagree Agree Agree
John Doe 2 Agree Disagree Agree
John Doe 4 Disagree Agree Strongly Disagree
Jane Doe 3 Agree Agree Agree
und so weiter ... Was ich brauche, ist in der Lage eine Anzahl von Jane Doe verschiedenen Antworten für Question1 zurückzukehren, Question2 usw. Ich brauche für Janes Question1 zurückzukehren Es gibt 2 Übereinstimmungen und 1 Nicht zustimmen. Ich brauche das für mehrere Lehrer.
Ich habe versucht, mit GROUP BY, aber ich muss nicht etwas richtig machen. Ich habe versucht, Variationen:
SELECT Teacher, COUNT(Q1) AS Q1Result, COUNT(Q2) AS Q2Result
FROM Survey
GROUP BY Teacher, Q1, Q2
Vielen Dank für Ihre Hilfe!
EDIT
Also, das ist die Frage, die ich am Ende immer, was ich brauchte. Meine Daten sollten nicht freigegeben werden. Ich glaube, das wird viel einfacher. Dies ist die Frage, die mich bekam, was ich gesucht habe ...
SELECT s.Teacher,
q.Question,
COUNT(CASE WHEN val = 'Strongly Agree' THEN 1 END) StronglyAgreeCount,
COUNT(CASE WHEN val = 'Agree' THEN 1 END) AgreeCount,
COUNT(CASE WHEN val = 'Neutral' THEN 1 END) NeutralCount,
COUNT(CASE WHEN val = 'Disagree' THEN 1 END) DisagreeCount,
COUNT(CASE WHEN val = 'Strongly Disagree' THEN 1 END) StronglyDisagreeCount
FROM PCSSSurvey s
CROSS APPLY (VALUES(s.Q1, 'Question01'),(s.Q2, 'Question02'),(s.Q3, 'Question03'),(s.Q4, 'Question04'),(s.Q5, 'Question05'),(s.Q6, 'Question06'),(s.Q7, 'Question07'),(s.Q8, 'Question08'),(s.Q9, 'Question09'),(s.Q10, 'Question10'),(s.Q11, 'Question11'),(s.Q12, 'Question12'),(s.Q13, 'Question13')) q(val,question)
GROUP BY s.Teacher, q.Question
ORDER BY s.Teacher, q.Question
bitte die erwartete Ausgabe zeigen und markieren Sie die Datenbank verwenden. –
Haben Sie die Spaltennamen für 'Question1' und' Question2' in Ihrem SQL abgekürzt? Sie haben es "Q1" und "Q2" zu zählen, die in diesem Zusammenhang nicht existieren. –
Würden Sie "stimme stark zu" mit "stimme zu" übereinstimmen? – SqlZim