Aectann
Новичок
Группировка
Добрый день!
Вот столкнулся с такой проблемой: есть 2 таблицы (клиенты и статусы). При изменении статуса клиента в таблицу статусы добовляется новая запись (старые записи остаются, чтобы можно было просмотреть историю изменений). Так вот нужно сделать выбор из этих таблиц, чтоб результат был в таком формате:
1. клиент <=> последний введённый статус
2. клиент <=> последний введённый статус
3. клиент <=> последний введённый статус
Основная сложность - вытащить именно последний статус для нескольких клиентов
Для одного клиента сделать просто (ORDER BY add_date DESC LIMIT 1), a вот когда присутствует больше одного клиента ( например когда условие WHERE id_person in (1,2,3) ), то LIMIT 1 уже не годится.
При это GROUP BY ... группирует по первой введённой записи, а как добратся до последней введённой не знаю.
Подскажите, если есть мысли хорошие по этому поводу.
Спасибо.
Добрый день!
Вот столкнулся с такой проблемой: есть 2 таблицы (клиенты и статусы). При изменении статуса клиента в таблицу статусы добовляется новая запись (старые записи остаются, чтобы можно было просмотреть историю изменений). Так вот нужно сделать выбор из этих таблиц, чтоб результат был в таком формате:
1. клиент <=> последний введённый статус
2. клиент <=> последний введённый статус
3. клиент <=> последний введённый статус
Основная сложность - вытащить именно последний статус для нескольких клиентов
Для одного клиента сделать просто (ORDER BY add_date DESC LIMIT 1), a вот когда присутствует больше одного клиента ( например когда условие WHERE id_person in (1,2,3) ), то LIMIT 1 уже не годится.
При это GROUP BY ... группирует по первой введённой записи, а как добратся до последней введённой не знаю.
Подскажите, если есть мысли хорошие по этому поводу.
Спасибо.