У меня есть следующая таблица
Элемент таблицы {
ID - первичный ключ
содержание - строка
updated_date - Когда контент был опубликован
create_date - когда была создана эта запись базы данных
}
Каждый час (или указанный интервал времени) я запускаю процесс обновления этой таблицы данными из разных источников (веб-сайтов). Я хочу отображать результаты в соответствии со следующими правилами.
1. Записи, созданные при каждом запуске процесса, должны быть сгруппированы вместе. Таким образом, записи из 2-го запуска процесса всегда будут после записей из первого запуска процесса, даже если опубликованная_дата записи из первого запуска будет после опубликованной_даты записи из 2-го запуска.
2. Внутри группировки по прогону записи отсортированы по дате публикации
3. Другое ограничение заключается в том, что я предпочитаю, чтобы данные из одного источника не группировались вместе. Если я сделаю сортировку по create_date, publ_date, я получу данные из источника a, данные из источника b и т. Д. Я предпочитаю, чтобы данные в течение каждого часа перемешивались для лучшего представления
Если я добавлю столбец в эту таблицу и сохраню счетчик, который увеличивается при каждом запуске процесса, можно создать запрос для сортировки сначала по счетчику, а затем по опубликованному_dt. Есть ли способ сделать это без добавления поля? Я использую Hibernate поверх MySQL.
, например
Час 1 (прогон 1)
4 строки, собранные с сайта А (строки 1-4)
3 строки, собранные с сайта b (строки 5-7)
час 2 (прогон 2)
2 ряда собраны с сайта А (ряды 8-9)
3 строки, собранные с сайта b (строки 10-12)
...
После каждого запуска новые записи добавляются в базу данных с каждого веб-сайта. Дата создания - это время, когда запись была создана в базе данных. Дата публикации является частью контента и считывается из внешнего источника.
Когда отображаются результаты, я бы хотел, чтобы строки были сгруппированы по часам, в которые они были опубликованы. Поэтому строки 1-7 будут отображаться перед строками 8-12. В рамках каждой почасовой группировки я хотел бы отсортировать результаты по дате публикации (отметка времени). Это необходимо для того, чтобы сообщения со всех сайтов, собранных в этот час, не группировались, а смешивались друг с другом.