|
|
|
|
|
для: tAleks
(21.01.2011 в 21:33)
| | наверное можно. Где - не знаю.
в мануале mysql только краткая таблица синтаксиса выражения, в которой список полей имеет место быть.
http://dev.mysql.com/doc/refman/5.1/en/expressions.html | |
|
|
|
|
|
|
|
для: Trianon
(21.01.2011 в 16:41)
| | Спасибо! | |
|
|
|
|
|
|
|
для: Trianon
(21.01.2011 в 16:29)
| | Где-нибудь об этом по подробнее можно почитать? Дайте ссылку, если есть. Спасибо. | |
|
|
|
|
|
|
|
для: tAleks
(21.01.2011 в 16:17)
| | Код с LIMIT 1 , кстати, не лучший вариант.
Хоть сервер его и опримизирует, правильнее писать SELECT MAX()... WHERE... и SELECT MIN()... WHERE... | |
|
|
|
|
|
|
|
для: tAleks
(21.01.2011 в 16:17)
| |
a1< b1 и a2 < b2 <===> если (a1>=b1) то ложь
иначе если (a2 < b2) то истина
иначе ложь
|
(a1,a2) < (b1,b2) <===> если (a1< b1) то истина
иначе если a1 > b1 то ложь
иначе если (a2 < b2) то истина
иначе ложь
|
| |
|
|
|
|
|
|
|
для: Trianon
(21.01.2011 в 15:59)
| | То что надо! Спасибо! Работвает!
Но такую запись я раньшен не встречал. Я делал так:
AND date_order < '$date_order'
AND id_order < $id_order
ORDER BY date_order, id_order
|
Но это не прокатывало.
Поясните плиз, логику вашей записи, чем она отличается от моей. Нутром чую что отличается, практика показывает что отличается, а догнать чем, че-то не могу.... | |
|
|
|
|
|
|
|
для: tAleks
(21.01.2011 в 15:50)
| |
AND (date_order, id_order) < ('$date_order' , $id_order)
ORDER BY date_order, id_order
|
- чем не? | |
|
|
|
|
|
|
| Есть таблица:
CREATE TABLE users_orders(
id_order INT(11) NOT NULL AUTO_INCREMENT,
id_user INT(11) NOT NULL,
date_order DATE DEFAULT NULL,
volume DECIMAL(7, 2) NOT NULL,
type ENUM('personal', 'organization') NOT NULL,
PRIMARY KEY (id_order),
INDEX id_user (id_user)
)
ENGINE = MYISAM;
|
Нужно сделать листалку записей, типа постраничной навигации, только по штучно. Сортировка по date_order. Но тут есть одно "НО". Если бы date_order был уникальный - нет проблем. НО в данном случае, date_order не уникальный, т.е. могут быть 2 или более записей с одинаковой датой.
Есть у меня несколько др. подобных скриптов, но там именно ДАТА была уникальной, и я вычислял id следующей и предыдущей записи так:
Вычислить id_order следующей записи (при условии что date_order уникальный) :
$sql_back = "
SELECT id_order FROM users_orders
WHERE id_user = $id_user
AND date_order > '$date_order'
ORDER BY date_order DESC
LIMIT 1";
|
Вычислить id_order предыдущей записи (при условии что date_order уникальный) :
$sql_back = "
SELECT id_order FROM users_orders
WHERE id_user = $id_user
AND date_order < '$date_order'
ORDER BY date_order
LIMIT 1";
|
А сейчас задача, вычислить id_order следующей и предыдущей записи, при условии что date_order не уникальный. Чувствую, что как-то дату можно связать с id_order, но как, че-то не догоняю. :) | |
|
|
|
|