| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MySQL > ORDER BY |
| Автор: FRAGNATIC 19.5.2006, 15:06 | ||
Вот нужно сортировать эти записи по p1 и p2 ) причём по какому-то одному из этих полей, но именно наименьшему, при этом если п1 = 0, то тогда сортировать по п2, вообщем 0 не считать. Допустим id = 1 p1 = 9 p2 = 0; id = 2 p1 = 0 p2 = 8; id = 3 p1 = 0 p2 = 7; id = 4 p1 = 6 p2 = 7; id = 5 p1 = 7 p2 = 6; должно вывести в таком порядке по ИД перечислю 4,5,3,2,1 Надеюсь понятно объяснил. Как вариант предлогали сортировать по сумме п1+п2, но не совсем корек-то выходит когда одно из п равно 0, то тогда всё гуд типа 9+0, но а вот 6+7 уже не тот получается =) |
| Автор: Ignat 19.5.2006, 15:16 | ||
Если я тебя правильно понял.
|
| Автор: FRAGNATIC 19.5.2006, 15:29 |
| Ignat, Спасибо. Новерное правильно понял Я думал что IF нету ) Где про использование IF можно почитать? из выше написаного кода я понял синтаксис такой if(условие, если верно то это значение, иначе это) IF(`p1`<`p2`, `p1`, `p2`) =) |
| Автор: Ignat 19.5.2006, 15:34 |
Совершенно верно. В мануале =) http://dev.mysql.com/doc/refman/4.1/en/control-flow-functions.html Добавлено @ 15:46 FRAGNATIC, Получилось? |
| Автор: FRAGNATIC 19.5.2006, 16:16 | ||||||
| Не совсем) это пашет
а это нет
+ надобы предусмотреть что одно из значение может быть 0 Есть ли чёнить типа ELSE или ELSEIF ? |
| Автор: FRAGNATIC 19.5.2006, 16:35 | ||
| Вообщем по смыслу надо что-то типа этого имеем Price1 и Price2
и в итоге ORDER BY Price; |
| Автор: Ignat 19.5.2006, 16:43 | ||
Попробуй:
|
| Автор: Akina 19.5.2006, 16:43 | ||
|
| Автор: Ignat 19.5.2006, 16:45 |
| Akina, классно =) |
| Автор: FRAGNATIC 19.5.2006, 17:03 |
| Респект всем! Спасибо! |