#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()