Логика Для Динамического Переключения Источника Содержимого Sql — Запроса

#php #mysql

#php #mysql

Вопрос:

Я хотел бы получить некоторую помощь в написании некоторой логики SQL.

В настоящее время у меня есть скребковый бот, собирающий новости на 10 сайтах.

Новости на этих сайтах обновляются ежедневно.

Я загружаю их во внутреннюю систему, мне нужно, чтобы новости не показывались повторяющимися источниками.

Он должен работать так же, как Google Discover, рандомизируя отображение этих новостей на сайтах-источниках новостей.

В настоящее время это выглядит так:

 NEWS 1 : SITE A NEWS 2 : SITE A NEWS 3 : SITE A  NEWS 4: SITE B NEWS 5: SITE B  NEWS 6: SITE C NEWS 7: SITE C  

Мне нужно, чтобы этот порядок был более случайным, более плавным.

Моя система работает на PHP / MYSQL.

Не могли бы вы помочь мне разобраться в этой логике? Я теряюсь в этом, все даты указаны в один и тот же день, и нет никаких почасовых различий, только вся дата.

Комментарии:

1. Я не очень хорошо понимаю вашу ситуацию , если вы выбираете сайт случайным образом , а затем выбираете случайные новости с него, то у вас полностью случайная система отображения, так в чем же проблема сейчас ?

2. Если вы сохранили данные в таблице MySQL, вы можете попросить mysql вывести их в случайном порядке

Ответ №1:

предполагая, что вы получаете все новости в правильном выборе, например: используя UNION, вы можете попробовать использовать order by rand()

 select * from (  select news, 'site A' site   from table_site_A  union   select news, 'site b' site   from table_site_b  ....  select news, 'site N' site   from table_site_N  ) t order by rand()