Не удается вычислить количество всех записей таблицы как общее - PullRequest
0 голосов
/ 17 апреля 2020

Я попытался написать sql, используя подзапрос. Я достиг подсчета () моей таблицы, но, как мы знаем, подзапрос требует много ресурсов в дБ мощности, я хочу, чтобы мой счетчик () был равен в столбце показано, что в моей таблице 6 записей, и когда я вычислю количество (*) своей таблицы, она будет отображаться как:

6
6
6
6
6
6

Я хочу получить такую ​​запись, как указано выше, без подзапроса.

WITH survey AS (
    SELECT
        *
    FROM
        (
            SELECT
                student_id,
                performance,
                teacher_behaviour,
                syllabus,
                shift_incharge_behaviour,
                punctuality,
                teaching_status,
                voice_clarity_class,
                daily_class,
                exams_status,
                mtm_helpline_status,
                fee_dept_status,
                personality_status,
                madni_task_assessment,
                survey_id
            FROM
                survey_feedback
            WHERE
                survey_id = 1
            GROUP BY
                student_id,
                performance,
                teacher_behaviour,
                syllabus,
                shift_incharge_behaviour,
                punctuality,
                teaching_status,
                voice_clarity_class,
                daily_class,
                exams_status,
                mtm_helpline_status,
                fee_dept_status,
                personality_status,
                madni_task_assessment,
                survey_id
        ) UNPIVOT ( star
            FOR q
        IN ( performance AS 'PERFORMANCE',
             teacher_behaviour AS 'TEACHER_BEHAVIOUR',
             syllabus AS 'SYLLABUS',
             shift_incharge_behaviour AS 'SHIFT_INCHARGE_BEHAVIOUR',
             punctuality AS 'PUNCTUALITY',
             teaching_status AS 'TEACHING_STATUS',
             voice_clarity_class AS 'VOICE_CLARITY_CLASS',
             daily_class AS 'DAILY_CLASS',
             exams_status AS 'EXAMS_STATUS',
             mtm_helpline_status AS 'MTM_HELPLINE_STATUS',
             fee_dept_status AS 'FEE_DEPT_STATUS',
             personality_status AS 'PERSONALITY_STATUS',
             madni_task_assessment AS 'MADNI_TASK_ASSESSMENT' ) )
    ORDER BY
        1,
        2
)
SELECT
    *
FROM
    survey PIVOT (
        COUNT ( student_id )
        FOR star
        IN ( 1, 2, 3, 4, 5 )
    )
ORDER BY
    q;

I want such desire Result as below is the picture.Total column is the sum of total records of my table

введите описание изображения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...