powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / В ORDER BY при употреблении CASE не позволяет DESC !
5 сообщений из 5, страница 1 из 1
В ORDER BY при употреблении CASE не позволяет DESC !
    #32023240
Aleksandr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые коллеги! У меня в запросе есть условие на сортировку:

SELECT T.CarTypeID, CarTypeRus, Count(*) AS TCount FROM STrucks T
... -- тута всякие джойны и условия
GROUP BY T.CarTypeID,CarTypeRus
ORDER BY CASE WHEN COUNT(*)>2 THEN CarTypeRus
ELSE COUNT(*) DESC
END
То есть в том случае, если группа имеет больше двух, то по названию, а если меньше - по количеству по убыванию.
Но вот аналайзер ругается на DESC! Если его убрать, то все проходит нормально... Как тут истчо можно заставить его сортировать с таким условием?
...
Рейтинг: 0 / 0
В ORDER BY при употреблении CASE не позволяет DESC !
    #32023254
MadDog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Позволяет:
select au_lname, count(*)
from authors
group by au_lname
order by (case when au_lname < 'N' then count(*) else ascii(au_lname) end) desc

Проверьте синтаксис case.
...
Рейтинг: 0 / 0
В ORDER BY при употреблении CASE не позволяет DESC !
    #32023265
Aleksandr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Лана, зайдем с другого конца... Данные из сего запроса должны сортироваться по алфавиту, но в том случае, если их количество меньше двух - идти в конце запроса, то есть возвращать примерно такие результаты:

Контейнеры (4):
конт. Россия СПб 1000
конт. Россия Москва 500
конт. Россия СПб 1500
конт. Россия Омск 500
Рефрижераторы (5):
реф. Россия СПб 100
реф. Россия СПб 100
реф. Россия СПб 100
реф. Россия СПб 100
реф. Россия СПб 100
Тентованные (3)
тент. Россия СПб 100
тент. Россия СПб 300
тент. Россия СПб 200
Прочие виды:
авт. Россия Москва
дор. Россия Москва
дор. Россия Москва
нест. Россия СПБ
...
Рейтинг: 0 / 0
В ORDER BY при употреблении CASE не позволяет DESC !
    #32023270
Владимир Смирнов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже, Вам нужно сделать сортировку по двум значениям.
Первое - это COUNT(*) для группы. Если >2, то значение 1, иначе 2.
Второе - название.
Примерно так:
ORDER BY (CASE WHEN COUNT(*)>2 THEN 1 ELSE 2 END), CarTypeRus
...
Рейтинг: 0 / 0
В ORDER BY при употреблении CASE не позволяет DESC !
    #32023271
Aleksandr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасиб, то, что нужно )
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / В ORDER BY при употреблении CASE не позволяет DESC !
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]