Получить историю событий из таблицы, в которой одновременно хранятся события и их старые версии - PullRequest
0 голосов
/ 07 февраля 2011

У меня есть таблица с событиями «events», которая содержит все события и их более старые версии. У меня есть эти столбцы:

  • "id" основной,
  • "origin_id" здесь я сохраняю идентификатор исходного события,
  • столбец "DATETIME" с указанием даты.

Когда я впервые добавляю событие, его «origin_id» получает значение «id». Когда я изменяю это событие, я создаю новое событие с тем же «origin_id», что и первое, новым автоматически увеличиваемым «id» и новым «date_added», конечно.

Как получить список со всеми текущими событиями из таблицы, без их старых версий, упорядоченных по дате начала "start" - столбец DATETIME снова?

Так что, если у меня есть 3 события и у каждого из них есть несколько ревизий / обновлений, я хочу получить только последнее обновление для каждого из них.

Ответы [ 2 ]

0 голосов
/ 07 февраля 2011

Как насчет этого?

SELECT MAX(id), origin_id, MAX(date_added), start
FROM events
GROUP BY origin_id, start
ORDER BY start ASC

Это, конечно, не то же самое, что ваше собственное решение, поэтому я думаю, что вы можете принять свое, если мое не работает для вас и если ничего лучше не получается.

0 голосов
/ 07 февраля 2011

Эмм, я думаю, что получил его самостоятельно :) 1001 *

SELECT *
FROM events WHERE id  
IN (
SELECT MAX( id )
FROM events
GROUP BY origin_id
)  
ORDER BY start ASC
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...