Terkadang Anda mungkin perlu mendapatkan baris dari 30 hari terakhir atau mendapatkan data 1 bulan terakhir di MySQL. Sangat mudah untuk mendapatkan catatan dari 30 hari terakhir di MySQL meskipun tidak ada fungsi bawaan untuk itu. Berikut query SQL untuk memilih record selama 30 hari terakhir.
Cara Mendapatkan Catatan dari 30 Hari Terakhir di MySQL
Inilah SQL untuk mendapatkan catatan dari 30 hari terakhir. Katakanlah Anda memiliki tabel berikut penjualan(tanggal_pesanan, obral) yang berisi data penjualan harian.
mysql> create table sales(order_date date,sale int); mysql> insert into sales(order_date, sale) values('2020-05-04',230), ('2020-05-05',200), ('2020-05-06',210), ('2020-05-07',180), ('2020-05-08',220), ('2020-05-09',230), ('2020-05-10',220), ('2020-05-11',225), ('2020-05-12',200), ('2020-05-13',210), ('2020-05-14',190), ('2020-05-15',200), ('2020-05-16',220), ('2020-05-17',210), ('2020-05-18',190), ('2020-05-19',180), ('2020-05-20',250), ('2020-05-21',240), ('2020-05-22',245), ('2020-05-23',230), ('2020-05-24',220), ('2020-05-25',210), ('2020-05-26',130), ('2020-05-27',200), ('2020-05-28',210), ('2020-05-29',221), ('2020-05-30',235), ('2020-05-31',233), ('2020-06-01',237), ('2020-06-02',230), ('2020-06-03',220), ('2020-06-04',210), ('2020-06-05',200), ('2020-06-06',260), ('2020-06-07',270), ('2020-06-08',240), ('2020-06-09',290), ('2020-06-10',230); mysql> select * from sales; +------------+------+ | order_date | sale | +------------+------+ | 2020-05-04 | 230 | | 2020-05-05 | 200 | | 2020-05-06 | 210 | | 2020-05-07 | 180 | | 2020-05-08 | 220 | | ... | ... | | ... | ... | | 2020-06-06 | 260 | | 2020-06-07 | 270 | | 2020-06-08 | 240 | | 2020-06-09 | 290 | | 2020-06-10 | 230 | +------------+------+
Bonus Baca :Cara Mendapatkan Catatan Antara 2 Tanggal di MySQL
Cara mendapatkan catatan dari 30 hari terakhir
Berikut query SQL untuk mendapatkan record dari 30 hari terakhir di MySQL.
mysql> select * from sales where order_date > now() - INTERVAL 30 day; +------------+------+ | order_date | sale | +------------+------+ | 2020-05-12 | 200 | | 2020-05-13 | 210 | | 2020-05-14 | 190 | | ... | ... | | ... | ... | | 2020-06-08 | 240 | | 2020-06-09 | 290 | | 2020-06-10 | 230 | +------------+------+
Dalam kueri di atas, kami memilih catatan di mana tanggal_pesanan jatuh setelah selang waktu 30 hari. Kami menggunakan fungsi sistem now() untuk mendapatkan nilai datetime terbaru, dan klausa INTERVAL untuk menghitung tanggal 30 hari yang lalu.
Anda juga dapat menggunakan tanggal_saat ini bukannya sekarang()
mysql> select * from sales where order_date > current_date - interval 30 day;
Bonus Baca :Cara Mendapatkan Record dari 24 Jam Terakhir di MySQL
Cara Mendapatkan data 1 Bulan Terakhir
Berikut query SQL untuk mendapatkan record 1 bulan terakhir di MySQL.
mysql> select * from sales where order_date > current_date - interval 1 month; +------------+------+ | order_date | sale | +------------+------+ | 2020-05-11 | 225 | | 2020-05-12 | 200 | | 2020-05-13 | 210 | | ... | ... | | ... | ... | | 2020-06-08 | 240 | | 2020-06-09 | 290 | | 2020-06-10 | 230 | +------------+------+
Bonus Baca :Cara Mendapatkan Catatan Bulan Ini di MySQL
Dalam kueri di atas, kami memilih baris di mana tanggal_pesanan jatuh setelah melewati interval 1 bulan. Kami menggunakan argumen '1 bulan' untuk klausa INTERVAL, alih-alih menggunakan '30 hari'
Ubiq memudahkan untuk memvisualisasikan data dalam hitungan menit, dan memantau di dasbor waktu nyata. Cobalah Hari ini!