база
--msgs--
id_m INT -- (PK)
id_theme --(id темы)
name_user --(имя написавшего в этой теме)
date --(дата написания сообщения в этой теме)
SELECT
MAX(date) as date_max,
id_theme,
name_user
FROM msgs
GROUP BY id_theme
ORDER BY date_max DESC
Дата выводится последняя а имя написавшего нет, как правильно составить запрос, чтобы имя написавшего (name_user) соответствовало max дате?
Спустя 26 минут, 54 секунды (5.02.2012 - 16:22) Jack_White написал(а):
Не у кого ни каких мыслей?
Спустя 3 минуты, 32 секунды (5.02.2012 - 16:25) ИНСИ написал(а):
Jack_White а почему обычный запрос не сделать? к примеру из твоего кода:
если нет, то попробуй так (дописал твой пример)
mysql_query("
SELECT
`id_theme`, `name_user`, `date`
FROM `msgs`
GROUP BY `id_theme`
ORDER BY `datestamp` DESC
");
если нет, то попробуй так (дописал твой пример)
mysql_query("
SELECT
MAX(`date`) as `date_max`,
(SELECT `name_user` FROM `msgs` WHERE `date` = `date_max` LIMIT 1) AS `user`,
`id_theme`,
`name_user`
FROM `msgs`
GROUP BY `id_theme`
ORDER BY `date_max` DESC
");
Спустя 11 минут, 38 секунд (5.02.2012 - 16:37) Jack_White написал(а):
Цитата (INSIDIOUS @ 5.02.2012 - 13:25) |
Jack_White а почему обычный запрос не сделать? к примеру из твоего кода: |
там просто в одной теме много сообщений а мне необходимо вывести последнего по дате
INSIDIOUS
спасибо попробую)