PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Cara Memilih Catatan dari 24 Jam Terakhir menggunakan PostgreSQL

Terkadang Anda mungkin perlu mendapatkan catatan dari 24 jam terakhir atau memilih baris dari 24 jam terakhir untuk pelaporan &analisis. Berikut adalah cara memilih catatan dari 24 jam terakhir menggunakan PostgreSQL.


Dapatkan Catatan dari 24 jam terakhir di PostgreSQL

Berikut adalah kueri SQL untuk mendapatkan catatan dari 24 jam terakhir di PostgreSQL. Katakanlah Anda memiliki tabel berikut penjualan(tanggal_pesanan, jumlah) .

postgres-# create table sales(order_date timestamp, amount int);

postgres-# insert into sales(order_date,amount) 
     values('2020-06-07 01:00:00',200),
     ('2020-06-07 02:30:00',350),
     ('2020-06-07 04:40:00',410),
     ('2020-06-07 12:10:00',600),
     ('2020-06-07 15:00:00',300),
     ('2020-06-07 18:55:00',450),
     ('2020-06-07 21:00:00',1200),
     ('2020-06-08 03:00:00',800),
     ('2020-06-08 05:30:00',900),
     ('2020-06-08 07:20:00',100),
     ('2020-06-08 10:10:00',250),
     ('2020-06-08 12:05:00',300),
     ('2020-06-08 13:30:00',200);

postgres-# select * from sales;
+---------------------+--------+
| order_date          | amount |
+---------------------+--------+
| 2020-06-07 01:00:00 |    200 |
| 2020-06-07 02:30:00 |    350 |
| 2020-06-07 04:40:00 |    410 |
| 2020-06-07 12:10:00 |    600 |
| 2020-06-07 15:00:00 |    300 |
| 2020-06-07 18:55:00 |    450 |
| 2020-06-07 21:00:00 |   1200 |
| 2020-06-08 03:00:00 |    800 |
| 2020-06-08 05:30:00 |    900 |
| 2020-06-08 07:20:00 |    100 |
| 2020-06-08 10:10:00 |    250 |
| 2020-06-08 12:05:00 |    300 |
| 2020-06-08 13:30:00 |    200 |
+---------------------+--------+

Bonus Baca :Cara Meningkatkan Koneksi Maks di PostgreSQL


Dapatkan baris dari 24 jam terakhir di PostgreSQL

Berikut kueri SQL untuk mendapatkan catatan dari 24 jam terakhir di PostgreSQL.

postgres-# select * from sales
       where order_date > now() - interval '24 hours';
+---------------------+--------+
| order_date          | amount |
+---------------------+--------+
| 2020-06-07 15:00:00 |    300 |
| 2020-06-07 18:55:00 |    450 |
| 2020-06-07 21:00:00 |   1200 |
| 2020-06-08 03:00:00 |    800 |
| 2020-06-08 05:30:00 |    900 |
| 2020-06-08 07:20:00 |    100 |
| 2020-06-08 10:10:00 |    250 |
| 2020-06-08 12:05:00 |    300 |
| 2020-06-08 13:30:00 |    200 |
+---------------------+--------+

Dalam kueri SQL di atas, kami menggunakan fungsi sistem PostgreSQL now() untuk mendapatkan datetime saat ini. Kemudian kami menggunakan klausa INTERVAL untuk memilih baris tersebut di mana tanggal_pesanan jatuh dalam waktu 24 jam terakhir dari waktu sekarang.

Bonus Baca :Tips Penyetelan Performa PostgreSQL

Anda juga dapat menentukan interval waktu dalam hari, bukan jam.

postgres-# select * from sales
     where order_date > now() - interval '1 day';
+---------------------+--------+
| order_date          | amount |
+---------------------+--------+
| 2020-06-07 15:00:00 |    300 |
| 2020-06-07 18:55:00 |    450 |
| 2020-06-07 21:00:00 |   1200 |
| 2020-06-08 03:00:00 |    800 |
| 2020-06-08 05:30:00 |    900 |
| 2020-06-08 07:20:00 |    100 |
| 2020-06-08 10:10:00 |    250 |
| 2020-06-08 12:05:00 |    300 |
| 2020-06-08 13:30:00 |    200 |
+---------------------+--------+

Bonus Baca :5 Alat Pemantau Kueri PostgreSQL Teratas

Jika Anda ingin memilih rekaman hanya untuk hari ini, dan tidak melewati 24 jam, gunakan kueri berikut.

postgres-# select * from sales
      where date_trunc('date',order_date) = current_date;
+---------------------+--------+
| order_date          | amount |
+---------------------+--------+
| 2020-06-08 03:00:00 |    800 |
| 2020-06-08 05:30:00 |    900 |
| 2020-06-08 07:20:00 |    100 |
| 2020-06-08 10:10:00 |    250 |
| 2020-06-08 12:05:00 |    300 |
| 2020-06-08 13:30:00 |    200 |
+---------------------+--------+

Dalam kueri di atas, Anda akan mendapatkan baris hanya tanggal sekarang, dan tidak melewati 24 jam. Kami menggunakan fungsi DATE_TRUNCT untuk memilih hanya baris di mana nilai tanggal order_date sama dengan nilai tanggal variabel sistem CURRENT_DATE, yaitu tanggal sekarang.

Ubiq memudahkan untuk memvisualisasikan data dalam hitungan menit, dan memantau di dasbor waktu nyata. Cobalah Hari Ini!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dalam membela sar (dan cara mengkonfigurasinya)

  2. PostgreSQL:Bagaimana cara melewatkan parameter dari baris perintah?

  3. Cara mempercepat kinerja penyisipan di PostgreSQL

  4. Memutakhirkan ke PostgreSQL 11 dengan Replikasi Logis

  5. Bagaimana cara menghubungkan aplikasi C# Windows mobile 6.5 ke database Postgres?