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!