Задать вопрос
@Proshka17

Почему на работает ABS() MySQL?

Добрый день. У меня есть сложный запрос,который выдает следующую таблицу:
5bf7a9da09040623380452.png
Мне нужно отсортировать по уменьшению диапазона.
order by abs(abs(2)-abs(1)) почему то не работает. Оказалось, что даже abs(2) работает не так, как должно.
Может кто знает почему?

Заранее спасибо за ответ.
  • Вопрос задан
  • 81 просмотр
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • Shultais Education
    Продвинутый SQL
    1 месяц
    Далее
  • Merion Academy
    Основы реляционных баз данных SQL
    1 месяц
    Далее
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Всё работает правильно.
> select ABS(2), ABS(-2), ABS(0-2), ABS(2-0);
+--------+---------+----------+----------+
| ABS(2) | ABS(-2) | ABS(0-2) | ABS(2-0) |
+--------+---------+----------+----------+
|      2 |       2 |        2 |        2 |
+--------+---------+----------+----------+

А вот у вас в формуле ошибка. Диапазон оценивается по формуле abs(a - b). У вас же размер диапазона (-2, 2) будет равен нулю.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы