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

Vygenerujte data pro rozsah dat včetně těch, která v datech nejsou

Dobře poslouží pomocná kalendářová tabulka. Nejjednodušší možná kalendářní tabulka je jeden sloupec dat.

create table calendar (
    cal_date date primary key
);

K naplnění můžete použít tabulku nebo SQL. Vnější spojení na něm přinese data, která ve vašich datech neexistují. Omezte oprávnění pomocí GRANT a REVOKE a použijte jakékoli prostředky nezbytné k tomu, abyste se ujistili, že data, která očekáváte, že tam budou, tam skutečně jsou. Na svém serveru spouštím denní přehled, který zajišťuje, že existuje řádků „n“ a ověřuje nejstarší a nejnovější data.

Na některých platformách můžete generovat řadu dat za chodu a použít ji buď přímo, nebo v CTE. PostgreSQL na to má funkce; Nevím, jestli to dělá MySQL. Není však těžké je napsat, pokud si chcete vytvořit vlastní.



  1. Jak získat data za posledních 7 dní od aktuálního data do posledních 7 dní na serveru SQL

  2. Výsledkem rozdělení je dotaz na součet

  3. PostgreSQL pole prvků, z nichž každý je cizí klíč

  4. Jak nastavíte autocommit v relaci SQL Server?