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

Izvrat

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

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

подскажите плиз!, или я чего не догоняю, или мускл не умеет делать такую тревиальную (как мне кажеться) вещь?
 

Апельсин

Оранжевое создание
Izvrat, он выбирает первую попавшуюся для этой group.
Либо через временную таблицу делай, либо через вложенные запросы.
 

Izvrat

Guest
временная таблица, этол в два запросе значит, жаль, значит таки хромает :(
 

Izvrat

Guest
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 - насколько помню - не позволяет
 

python

Новичок
[m]UNIX_TIMESTAMP[/m]

-~{}~ 16.09.05 15:16:

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

а запрос, что ты написал, и не должен работать по определению
 

Izvrat

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

-~{}~ 16.09.05 15:21:

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

python

Новичок
аррргх.

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

-~{}~ 16.09.05 15:23:

я тоже не встречал. :)
это функция
 

Izvrat

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

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

Izvrat

Guest
Апельсин вариант... (если я правильно понял) до жути криво, но рабоотать должно, типа приклеить 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 можеь быть любое, просто для примера)
 
Сверху