Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
В ORDER BY при употреблении CASE не позволяет DESC !
|
|||
|---|---|---|---|
|
#18+
Уважаемые коллеги! У меня в запросе есть условие на сортировку: 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! Если его убрать, то все проходит нормально... Как тут истчо можно заставить его сортировать с таким условием? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2002, 08:27 |
|
||
|
В ORDER BY при употреблении CASE не позволяет DESC !
|
|||
|---|---|---|---|
|
#18+
Позволяет: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2002, 09:46 |
|
||
|
В ORDER BY при употреблении CASE не позволяет DESC !
|
|||
|---|---|---|---|
|
#18+
Лана, зайдем с другого конца... Данные из сего запроса должны сортироваться по алфавиту, но в том случае, если их количество меньше двух - идти в конце запроса, то есть возвращать примерно такие результаты: Контейнеры (4): конт. Россия СПб 1000 конт. Россия Москва 500 конт. Россия СПб 1500 конт. Россия Омск 500 Рефрижераторы (5): реф. Россия СПб 100 реф. Россия СПб 100 реф. Россия СПб 100 реф. Россия СПб 100 реф. Россия СПб 100 Тентованные (3) тент. Россия СПб 100 тент. Россия СПб 300 тент. Россия СПб 200 Прочие виды: авт. Россия Москва дор. Россия Москва дор. Россия Москва нест. Россия СПБ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2002, 11:43 |
|
||
|
В ORDER BY при употреблении CASE не позволяет DESC !
|
|||
|---|---|---|---|
|
#18+
Похоже, Вам нужно сделать сортировку по двум значениям. Первое - это COUNT(*) для группы. Если >2, то значение 1, иначе 2. Второе - название. Примерно так: ORDER BY (CASE WHEN COUNT(*)>2 THEN 1 ELSE 2 END), CarTypeRus ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2002, 12:19 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32023271&tid=1823864]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
137ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 255ms |
| total: | 497ms |

| 0 / 0 |
