sql >> Database teknologi >  >> RDS >> Mysql

Generer data for rækkevidde af datoer, inklusive dem, der ikke er til stede i data

En ekstra kalendertabel vil fungere godt. Den enklest mulige kalendertabel er en enkelt kolonne med datoer.

create table calendar (
    cal_date date primary key
);

Du kan bruge et regneark eller SQL til at udfylde det. En ydre joinforbindelse på den vil bringe de datoer ind, der ikke findes i dine data. Begræns tilladelser med GRANT og REVOKE, og brug de nødvendige midler for at sikre dig, at de datoer, du forventer at være derinde, faktisk er derinde. Jeg kører en daglig rapport på min server, der sikrer, at der er 'n' rækker, og verificerer de tidligste og seneste datoer.

På nogle platforme kan du generere en række datoer på farten og enten bruge den direkte eller i en CTE. PostgreSQL har funktioner til det; Det ved jeg ikke, om MySQL gør. De er dog ikke svære at skrive, hvis du vil rulle dine egne.



  1. uploade flere billedfiler til php mysql galleri

  2. Hvordan vælger man et begrænset antal rækker for hver fremmednøgle?

  3. Selvstudium til SQL Server-tabelopdeling og -partitioner

  4. Referencealias (beregnet i SELECT) i WHERE-sætning