Я создаю запрос в SQL Server, который вычисляет оценки, которые мы получаем для наших опросов. У нас есть столбец с именем total_score, где пользователь вводит число от 1 до 5 в качестве рейтинга. Я пытаюсь создать хранимую процедуру, которая будет вычислять оценки, основанные на оценках.Запрос SQL Server 2012 для вычисления вычислений
Score rating = (Total count of scores 4 and 5)/(Total number of responses) * 100
У меня есть три отдельных операторов выбора, которые создают результаты, которые необходимы, но когда я иду, чтобы объединить их вместе мой выход 0.
Может кто-то пожалуйста, руководство меня на то, что я здесь делаю неправильно?
Отдельные заявления SQL:
SELECT count(overall_score) FROM Layer1_DataMerge WHERE overall_score = 4;
SELECT count(overall_score) FROM Layer1_DataMerge WHERE overall_score = 5;
SELECT count(overall_score) FROM Layer1_DataMerge;
Комбинированные вместе:
SELECT distinct
(
(
(SELECT count(overall_score) FROM Layer1_DataMerge WHERE Overall_Score = 4) +
(SELECT count(overall_score) FROM Layer1_DataMerge WHERE overall_score = 5)
)/(SELECT count(overall_score) FROM Layer1_DataMerge)
) AS CSAT
FROM Layer1_DataMerge;
Удивительный! Это сработало, спасибо вам большое. Теперь моя единственная проблема: я не могу получить правильное количество десятичных знаков. Я думал, что результаты будут показывать количество десятичных знаков, которые вы ставите в своем множителе. Когда я использую 100.0 или 100.00, я все равно получаю тот же ответ 0,62044589450, я хочу, чтобы он отображал 0,62 .... –
@JaimieeBayliss обновил мой ответ, чтобы показать 2 десятичных знака. –
Снова спасибо вам большое! Это действительно помогло. –