sql >> Database teknologi >  >> RDS >> PostgreSQL

Sådan vælger du poster fra de sidste 24 timer i PostgreSQL

At observere dine data fra de sidste 24 timer er en fantastisk måde at få indsigt i din daglige virksomheds ydeevne. Uanset om du sporer salget af et nyt produkt eller følger brugeraktivitet dagen efter en kampagne, kan der siges meget om denne korte periode. I denne øvelse vil vi se på forskellige måder at skrive en forespørgsel på for at vælge poster fra de sidste 24 timer.

Valg af de sidste 24 timer

Lad os for eksempel overveje en tabel med navnet "brugere" med poster, der indeholder navn, adresse og andre oplysninger om en ny bruger. Endnu vigtigere er det, at tabellen indeholder attributten "created_date", som indeholder tidspunktet og datoen for, hvornår brugeren tiltrådte. Det følgende viser, hvordan vi kan vælge de brugere, der har tilmeldt sig inden for de seneste 24 timer i rækkefølge fra tidligst til seneste:

SELECT *
FROM public.users AS "Users"
WHERE "Users"."created_date" BETWEEN NOW() - INTERVAL '24 HOURS' AND NOW()
ORDER BY "Users"."created_date" DESC

Det hele gøres ved hjælp af en WHERE klausul. Vi udvælger de poster, der har en oprettet dato, der ligger mellem det aktuelle tidspunkt og 24 timer før det aktuelle tidspunkt. En anden forespørgsel, der opnår det samme, kunne se sådan ud:

SELECT *
FROM public.users AS "Users"
WHERE "Users"."created_date" >= NOW() - INTERVAL '24 HOURS'
ORDER BY "Users"."created_date" DESC

I dette tilfælde udvælger vi de poster, der har en oprettet dato, som er fra 24 timer før det aktuelle tidspunkt op til det aktuelle tidspunkt. I begge tilfælde opnår vi det samme resultat. Der er lignende PostgreSQL-funktioner, som kan hjælpe med denne opgave, og du kan henvise her for mere information om disse Dato/Tid-funktioner. Vi bemærker, at hvis vi ønsker at ændre tidsperioden for søgning, vil vi redigere WHERE-sætningen for at repræsentere den ønskede tidsramme for søgning.

Relative datovariable

Chartio tilbyder indbyggede datovariabler, som kan hjælpe med at holde dine data opdateret med hver opdatering. Disse variabler kan bruges i hele applikationen, uanset hvor du indtaster en dato. En del af datovariablerne inkluderer:

  • {TODAY}
  • {CURRENT_ISO_WEEK.START} og {CURRENT_ISO_WEEK.END}
  • {CURRENT_QUARTER.START} og {CURRENT_QUARTER.END}

Brug af disse relative datovariabler vil sikre, at alle dine dashboards i Chartio opdateres korrekt. Funktioner på disse datovariabler giver dig også mulighed for at tilpasse returdatoen, så den passer til dine behov. For eksempel kunne vi skrive i forgårs (i går) som:

{TODAY.SUB(1,'day')}

Vi kan udvide forespørgslerne i denne vejledning for at få yderligere indsigt afhængigt af, hvad vi gerne vil analysere, men dette giver os et godt udgangspunkt for at hente oplysninger fra de foregående 24 timer.


  1. CEILING() Eksempler i SQL Server

  2. BEGIN - END blok atomtransaktioner i PL/SQL

  3. Træk datoer i Oracle - tal eller interval datatype?

  4. MySQL - hvor mange rækker kan jeg indsætte i en enkelt INSERT-sætning?