Цитата (chee @ 16.10.2014 - 21:59) |
У нас задача на знание MySQL, на моём опыте не один кандидат не осилил. Вот она:
users ----- id name
comments ----- id message user_id post_date
Получить последнее сообщение для каждого пользователя. |
А зачем ты так сложно сделал ?
SELECT
u.id, u.name,
(SELECT `text` FROM `comments` WHERE user_id = u.id ORDER BY `post_date` DESC LIMIT 0,1) AS `text`
FROM
`users` AS u
ORDER BY
u.id
Kusss
Может даже (если строки, конечно никак не мешают)
Цитата |
ORDER BY `post_date` |
делать не нужно будет просто последняя строка юзера в `comments` априори будет с последней датой.
И вот еще не понял зачем
вроде в условиях нет сортировки по юзерам, только по дате?
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Цитата |
делать не нужно будет просто последняя строка юзера в `comments` априори будет с последней датой. |
ну я же не знаю как происходит редактирование. Может там UPDATE , без сохранения "того что было"
Kusss, можно сделать как у вас. В принципе, лучше даже сделать так как у вас, так как выборка будет проходить быстрее в десятки раз, за счет меньшего количества виртуальных таблиц.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
sergeiss
18.10.2014 - 11:13
Цитата (ABC @ 18.10.2014 - 10:15) |
Может даже (если строки, конечно никак не мешают) Цитата ORDER BY `post_date` делать не нужно будет просто последняя строка юзера в `comments` априори будет с последней датой.
|
Порядок выбираемых строк может быть любым, если не определен ORDER BY. Поэтому, если нужно однозначное поведение, то ORDER BY просто обязателен.
В запросы не вникал, если честно; мой камент относится только к процитированному утверждению.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
sergeiss
Цитата |
Порядок выбираемых строк может быть любым, если не определен ORDER BY. Поэтому, если нужно однозначное поведение, то ORDER BY просто обязателен. |
ну да, конечно я затупил...тогда по id тогда должен быть с DESC
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.