powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Mysql. Футнкция IF в Order By
6 сообщений из 6, страница 1 из 1
Mysql. Футнкция IF в Order By
    #40035981
rubiks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Никак не могу вкурить как работает IF в ORDER BY.
Кто может просто объяснить как это работает.
Прикладываю скрин.
В приципе запрос правильно работает. Я понял, как регулировать запрос, чтобы цены с нулем были вверху списка или внизу, при этом сама сортировка от этого бы не зависила.
К сути:
Но, я не понимаю механику этой работы.
Вот идет конструкция IF(`price`>0, 0, 1).
Пишу, что она делает: если цена больше нуля, то возвращаем нуль, если цена меньше нуля или равна нулю, то возвращаем 1. Я не понимаю, как эти данные могут работать в сортировке.
Далее в работу вступает второй аргумент сортировки.

Может, кто-нибуть объяснить как это работает и почему?

П.С. в интернете искал. Нахожу только примеры, что это работает. А почему не пишут.

Заранее спасибо.
...
Рейтинг: 0 / 0
Mysql. Футнкция IF в Order By
    #40035997
MikkiMouse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rubiks,

Выведи результат выражения IF(`price`>0, 0, 1) в отдельной колонке перед собственно price и посмотри на него долгим вдумчивым взглядом ))
...
Рейтинг: 0 / 0
Mysql. Футнкция IF в Order By
    #40036011
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В принципе нафига тут IF? только лишнее сравнение, и никакого профиту... ORDER BY price <= 0, price сделает то же самое, но без ненужных операций.
...
Рейтинг: 0 / 0
Mysql. Футнкция IF в Order By
    #40037112
rubiks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

Спасибо за инфу. Буду знать. Я так понял, что это более короткая запись. А так это тоже самое.
...
Рейтинг: 0 / 0
Mysql. Футнкция IF в Order By
    #40037119
rubiks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MikkiMouse,

Вывел. Я и до этого это понимал. И написал, что там либо нуль либо единица возвращаются.
И вот и не понимаю, как работает эта конструкция... Если я просто напишу туда нуль - то будет ошибка. Поэтому и не понимаю алгоритм работы.
...
Рейтинг: 0 / 0
Mysql. Футнкция IF в Order By
    #40037126
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rubiks,

смысл в том что сначала сортируются положительные прайсы, затем отрицательные и 0.
так как прайс положителен - то просто нулевые цены будут в конце

1,2,3,4,......,0,0,0,0,0
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Mysql. Футнкция IF в Order By
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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