Или мускл хромает или я чегото не понял (дилемма группировок)

  • Автор темы Автор темы Izvrat
  • Дата начала Дата начала

Izvrat

Guest
Или мускл хромает или я чегото не понял (дилемма группировок)

вот есть скажем таблица - test
вней допустим поля - group, name и date
хочу я сгрупировать все по group и вытащить name записи с последней датой (т.е. date),
беда в том, что вытащить max(date) то можно вот только как узнать какой name 'это дате соостветствут?

подскажите плиз!, или я чего не догоняю, или мускл не умеет делать такую тревиальную (как мне кажеться) вещь?
 
Izvrat, он выбирает первую попавшуюся для этой group.
Либо через временную таблицу делай, либо через вложенные запросы.
 
временная таблица, этол в два запросе значит, жаль, значит таки хромает :(
 
python

select a.*, MAX(a.DATE) as max_date
FROM test a
LEFT JOIN test b ON b.date = max_date
ORDER by `group`

если ты про это, то пробовал, не работает, не знает поля max_date

-~{}~ 16.09.05 15:12:

4.0.16 - насколько помню - не позволяет
 
[m]UNIX_TIMESTAMP[/m]

-~{}~ 16.09.05 15:16:

4.0.16 - насколько помню - не позволяет
тогда и говорить не о чем, GROUP BY в первом из вложенных запросов must be

а запрос, что ты написал, и не должен работать по определению
 
UNIX_TIMESTAMP - в смысле? какая разница какйо формат даты дело вообще не в дате, (я ее храню в поле INT, как раз в UNIX_TIMESTAMP), это я для примера, вместо даты может быть люое поле, или я тебя не понял?

-~{}~ 16.09.05 15:21:

стоп, ты имеешь в виду дату хранить в базе в TIMESTAMP?
(UNIX_TIMESTAMP - я в типах данных не встречал)
 
аррргх.

1. что за тип UNIX_TIMESTAMP такой
2. я и правда не на тот вопрос отвечал, решил что MAX() с типом DATE не работает
3. GROUP BY знаешь что такое и зачем он нужен?
4. без вложенных запросов никак

-~{}~ 16.09.05 15:23:

я тоже не встречал. :)
это функция
 
гы :),... а я уже пробую сделать дату в формате TIMESTAMP, думал ты имеешь в виду, что есть какоято фича мускула, и все заработает как надо самомсабой...

жаль... вобщем я понял, всем спасибо, если кто вдруг узнает еще как можно сделать одним запросом, без вложеных, буду блогодарен если напишите \~/
 
Апельсин вариант... (если я правильно понял) до жути криво, но рабоотать должно, типа приклеить name к дате, отсортировать, а потом отлеить? :) смешно, надо поробовать

-~{}~ 16.09.05 15:46:

слушайте, у меня тут по ходу идея появилась, совсем не в тему, но все же, заценитие:
новый шаг, - ООП запросы (точнее результат),
типа вытаскивать на ряду с полями, группы полей (т.е. типа классы)
ну например:

$res = mysql_query('SELECT a, CLASS(b, c) as d FROM test');
$obj = mysq_fetch_object($res);

получаем:
$obj->a;
$obj->d->b;
$obj->d->c;

(примичание - вместо слова CLASS можеь быть любое, просто для примера)
 
Сверху