sql >> Databáze >  >> RDS >> Mysql

Implementace databáze nejsledovanějších prvků

mají následující tabulky:1. pohledy2. views_hourly_summary3. views_daily_summary4. views_monthly_summary5. views_alltime_summary

mít úlohu cron spuštěnou v následujících intervalech:

  1. spouštět každou hodinu a předběžně agregovat pohledy pro danou hodinu z tabulky pohledů a uložit předem agregovaný výsledek do tabulky views_hourly_summary, aktualizovat také tabulku views_alltime_summary

  2. spustit na konci dne a předběžně agregovat zobrazení pro daný den z tabulky hodin a uložit předem agregovaný výsledek do tabulky views_daily_summary

  3. spustit na konci každého měsíce a předběžně shromáždit zobrazení pro daný den z tabulky hodin a uložit předem agregovaný výsledek do tabulky views_daily_summary

dále při načítání výsledků budete muset provést nějaké výpočty takto:

  1. Chcete-li například načíst zobrazení za poslední 4 hodiny, načtěte data za celé 3 hodiny z hodinové tabulky a pro zbývající data je načtěte z tabulky zobrazení následovně:

    vyberte item_id, sum(views) as viewsfrom views_hourly_summarywhere hour between concat(left(now() - interval 3 hours, 14), '00:00') and concat(left(now(), 14), '00:00' )seskupit podle item_id

    unie

    vyberte item_id, count(1) as viewsfrom views where datetime between (now() – interval 4 hours) and concat(left(now() – interval 3 hour, 14), '00:00') or datetime> concat(left( now(), 14), '00:00')seskupit podle item_id



  1. Jak nainstalovat MySQL 8 na Windows

  2. Dotaz k odstranění jedinečného nebo primárního klíče z tabulky MYsql

  3. Jak vytvořit balíček v Oracle SQL Developer?

  4. Heslo obchodu je v pořádku v proměnné php Session?