Запрос с сортировкой на отличников и хорошистов в access

Как сделать так, чтобы на первых строках в access были отличники и только потом хорошисты? Предлагают с помощью функций сортировать, но вопрос - как?

Код SQL:

SELECT
    АНКЕТЫ.ФАМИЛИЯ,
    ОЦЕНКИ.ОЦЕНКА_1,
    ОЦЕНКИ.ОЦЕНКА_2,
    ОЦЕНКИ.ОЦЕНКА_3,
    ИТОГИ.ЗАЧИСЛЕНИЕ
FROM
    (ОЦЕНКИ
        INNER JOIN АНКЕТЫ ON
            ОЦЕНКИ.РЕГ_НОМ = АНКЕТЫ.РЕГ_НОМ)
    INNER JOIN ИТОГИ ON
        ОЦЕНКИ.РЕГ_НОМ = ИТОГИ.РЕГ_НОМ
WHERE
    (((ОЦЕНКИ.ОЦЕНКА_1) = 5
        OR (ОЦЕНКИ.ОЦЕНКА_1) = 4)
    AND ((ОЦЕНКИ.ОЦЕНКА_2) = 5
        OR (ОЦЕНКИ.ОЦЕНКА_2) = 4)
    AND ((ОЦЕНКИ.ОЦЕНКА_3) = 5
        OR (ОЦЕНКИ.ОЦЕНКА_3) = 4))
ORDER BY
    АНКЕТЫ.ФАМИЛИЯ;

отличники и хорошисты

отличники и хорошисты


Ответы (1 шт):

Автор решения: drakonoved

В данном случае можно сортировать по общему баллу по убыванию:

SELECT
    АНКЕТЫ.ФАМИЛИЯ,
    ОЦЕНКИ.ОЦЕНКА_1,
    ОЦЕНКИ.ОЦЕНКА_2,
    ОЦЕНКИ.ОЦЕНКА_3,
    (ОЦЕНКИ.ОЦЕНКА_1
     + ОЦЕНКИ.ОЦЕНКА_2
     + ОЦЕНКИ.ОЦЕНКА_3) AS ОБЩИЙ_БАЛЛ
    ИТОГИ.ЗАЧИСЛЕНИЕ
FROM
    (ОЦЕНКИ
        INNER JOIN АНКЕТЫ ON
            ОЦЕНКИ.РЕГ_НОМ = АНКЕТЫ.РЕГ_НОМ)
    INNER JOIN ИТОГИ ON
        ОЦЕНКИ.РЕГ_НОМ = ИТОГИ.РЕГ_НОМ
WHERE
    (((ОЦЕНКИ.ОЦЕНКА_1) = 5
        OR (ОЦЕНКИ.ОЦЕНКА_1) = 4)
    AND ((ОЦЕНКИ.ОЦЕНКА_2) = 5
        OR (ОЦЕНКИ.ОЦЕНКА_2) = 4)
    AND ((ОЦЕНКИ.ОЦЕНКА_3) = 5
        OR (ОЦЕНКИ.ОЦЕНКА_3) = 4))
ORDER BY
    ОБЩИЙ_БАЛЛ DESC;
→ Ссылка