Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/14: Рейтинг темы: голосов - 14, средняя оценка - 4.71
29 / 26 / 18
Регистрация: 02.04.2015
Сообщений: 314
1

Select * from table order by MIN (col1, col2) by asc

28.09.2018, 15:05. Показов 2577. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день.
Есть "гипотетическая" таблица:
SQL
1
CREATE TABLE tabl (col1 INT, col2 INT)
Придумаем для неё значения:
SQL
1
INSERT INTO tabl (col1, col2) VALUES (0, 1), (0, 2), (1,2), (1,1);
Необходимо упорядочить выборку по минимальному из col1 и col2, что-то вроде такого:
SQL
1
SELECT col1, col2, IF(col1 < col2, col1, col2) AS `lt` FROM tabl ORDER BY `lt` ASC;
Собственно - так пока и написал, но почему-то кажется, что есть вариант обойтись без вычисляемого столбца в выборке (`lt`), а нечто такое сразу накрутить в сортировке...
Можно ли обойтись без третьего столбца?
Если да, то подскажите в какую сторону смотреть, спасибо! )
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.09.2018, 15:05
Ответы с готовыми решениями:

(`col1` = 'uid' OR `col2` = 'uid' OR `col3`= 'uid' ) против (`col1` OR `col2` OR `col3`) = 'uid'
Добрый вечер. (`col1` = 'uid' OR `col2` = 'uid' OR `col3`= 'uid' ) // работает, но запись...

не работает like (myRS.Source = 'SELECT * FROM mytable WHERE name LIKE 'Ivanov' ORDER BY ID ASC')
У меня не работает like: myRS.Source = 'SELECT * FROM mytable WHERE name LIKE 'Ivanov' ORDER BY...

В запросе не работает ORDER BY ASC. Он выдает наименьшее значение из БД
В рабочем запросе не работает ORDER BY ASC. Он выбирает наименьшее значение power и stopor из БД, а...

select s odnoi table, and insert v drygyjy table
privet! mne nado sdelat backup s ASP.NET, kogda stirayt DB, no na vsaki slychay mne nado soxranit...

3
Модератор
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
01.10.2018, 13:28 2
Цитата Сообщение от ИмяПользователя Посмотреть сообщение
Можно ли обойтись без третьего столбца?
В секции ORDER BY вполне можно использовать CASE
1
29 / 26 / 18
Регистрация: 02.04.2015
Сообщений: 314
01.10.2018, 21:33  [ТС] 3
Цитата Сообщение от Grossmeister Посмотреть сообщение
В секции ORDER BY вполне можно использовать CASE
... Я что-то не соображу, ведь:
SQL
1
2
3
4
5
CASE case_value
    WHEN when_value THEN statement_list
    [WHEN when_value THEN statement_list] ...
    [ELSE statement_list]
END CASE
- Позволяет "проверить и сравнить" case_value, и в зависимости от выбранного(совпавшего) условия вернуть statement_list.
Так?
В моих "игрушечных реалиях", это означает, что я либо задам CASE col1, либо CASE col2. Или нет?!
Еще раз оговорюсь: мне нужно отсортировать по возрастанию с оглядкой на минимальное значение одного из (любого) столбца col1-col2.
0
411 / 365 / 142
Регистрация: 09.04.2011
Сообщений: 1,051
01.10.2018, 23:09 4
Лучший ответ Сообщение было отмечено ИмяПользователя как решение

Решение

MySQL
1
SELECT col1, col2 FROM tabl ORDER BY IF(col1 < col2, col1, col2) ASC;
1
01.10.2018, 23:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.10.2018, 23:09
Помогаю со студенческими работами здесь

Select и order by
Нужен такой запрос Значения, если order by ASC сделать, отфильтрует он попорядку и traffic будет...

Select и ORDER BY DESC
SELECT ПОДРАЗДЕЛЕНИЯ., ШТАТНЫЕ_ЕДИНИЦЫ., ШТАТНЫЕ_ЕДИНИЦЫ., ПОДРАЗДЕЛЕНИЯ., ...

INSERT(SELECT ORDER BY LIMIT)
У меня 2 таблицы emplyee(fname,sname,salary,birthdate,employdate) и salaried(fname, sname, salary)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru