Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Максимальное значение даты (https://javascript.ru/forum/server/44887-maksimalnoe-znachenie-daty.html)

arahmanov 05.02.2014 16:43

Максимальное значение даты
 
max(date) - не работает путается в датах.(где data - поле даты в формате 2014-02-05)
Есть ли другие варианты выбрать максимальную дату из таблицы.


$result1 = mysql_query("SELECT MAX(data) FROM xolod WHERE id_kv='$id_kv'");
$myrow1 = mysql_fetch_array($result1); 
$date1 = $myrow1[0];

ksa 05.02.2014 19:13

Цитата:

Сообщение от arahmanov
max(date) - не работает путается в датах.

Это не правда... :no:
Эта агрегатная функция для того и сделана.

arahmanov 05.02.2014 19:19

Цитата:

Сообщение от ksa (Сообщение 296112)
Это не правда... :no:
Эта агрегатная функция для того и сделана.

Спасибо буду ковырять, что не так...
и если не затруднит. Как выбрать два последних значения по той же дате?

arahmanov 05.02.2014 19:37

Вроде работает :)

<?php $result_par = mysql_query("SELECT MAX(data) FROM xolod WHERE id_kv='$id_kv'");
						$myrow_par = mysql_fetch_array($result_par); 
						$prov = $myrow_par[0];
						$result_par2 = mysql_query("SELECT MAX(data) FROM xolod WHERE id_kv='$id_kv' AND data<'$prov'");
						$myrow_par2 = mysql_fetch_array($result_par2);
						echo $myrow_par2[0]; 
						?>

ksa 05.02.2014 21:18

Цитата:

Сообщение от arahmanov
Как выбрать два последних значения по той же дате?

Не совсем понятно, что понимается под фразой "той же дате"... :(
Две строки со сначением поля равной максимальной дате?
Или просто сортирануть по тому полю в обратном порядке и вывести только 2 строки?

ruslan_mart 06.02.2014 05:28

mysql_query("SELECT data FROM xolod WHERE id_kv='$id_kv' AND data<'$prov' ORDER BY data DESC");


Так что ли?

kostyanet 07.02.2014 06:26

Цитата:

Сообщение от arahmanov
и если не затруднит. Как выбрать два последних значения по той же дате?

Есть же сортировка и лимит.

Код:

select `date` from `table` order by `date` desc limit 2;
В точности ответ не может быть дан. Двух значений на одной дате может не оказаться. Запрос выше вернет две самые свежие записи. Дата которых может отличаться.

kostyanet 07.02.2014 06:31

Перечитал вопрос. Улавливаю автору потребуется group by. Надо бы узнать получше задачу.


Часовой пояс GMT +3, время: 09:49.