Grup SQL berdasarkan Tanggal

Grup Sql Berdasarkan Tanggal



Klausa SQL GROUP BY adalah alat yang ampuh untuk mengelompokkan dan menggabungkan data. Ini memberikan cara terbaik untuk mengelompokkan data berdasarkan kriteria tertentu dan kemudian melakukan tindakan pada grup yang dihasilkan.

Salah satu kasus penggunaan umum untuk GROUP BY adalah pengelompokan berdasarkan tanggal. Dalam tutorial ini, kita akan mempelajari dasar-dasar bekerja dengan klausa GROUP BY dan mendiskusikan cara menggunakannya untuk mengelompokkan data menurut tanggal dalam SQL.







CATATAN: Kami berasumsi bahwa Anda memiliki pemahaman dasar tentang SQL. Untuk tujuan demonstrasi, kami menggunakan contoh dalam tutorial ini dengan MySQL 8. Namun, Anda dapat dengan bebas memindahkan konsep tutorial ini ke mesin basis data berbasis SQL lainnya.



Tabel Contoh:

Langkah pertama adalah menyiapkan tabel dasar dan data sampel untuk demonstrasi. Jika Anda memiliki tabel yang ingin Anda kerjakan, silakan lewati bagian ini.



Untuk membuat tabel, gunakan kueri berikut:





BUAT TABEL transaksi (
pengenal int bukan null kunci utama auto_increment,
tanggal TANGGAL,
jumlah DECIMAL ( 10 , 2 )
) ;


Setelah Anda membuat tabel, masukkan data sampel seperti yang ditunjukkan berikut ini:

MASUKKAN KE DALAM transaksi ( tanggal , jumlah )
NILAI
( '2023-01-01' , 100.00 ) ,
( '2023-01-02' , 50.00 ) ,
( '2023-01-03' , 75.00 ) ,
( '2023-01-04' , 200.00 ) ,
( '2023-01-05' , 150.00 ) ,
( '2023-01-06' , 175.00 ) ,
( '2023-01-07' , 50.00 ) ,
( '2023-01-08' , 100.00 ) ,
( '2023-01-09' , 25.00 ) ,
( '2023-01-10' , 75.00 ) ,
( '2023-01-11' , 150.00 ) ,
( '2023-01-12' , 200.00 ) ,
( '2023-01-13' , 250.00 ) ,
( '2023-01-14' , 175.00 ) ,
( '2023-01-15' , 150.00 ) ,
( '2023-01-16' , 100.00 ) ,
( '2023-01-17' , 50.00 ) ,
( '2023-01-18' , 75.00 ) ;


Ini harus menambahkan data acak ke tabel transaksi. Kita dapat menggunakan pernyataan pilih untuk menampilkan tabel yang dihasilkan sebagai berikut:



Pilih * dari transaksi;


Tabel Keluaran:


Setelah kita menyiapkan data, kita dapat melanjutkan ke langkah berikutnya.

Grup SQL berdasarkan Tanggal

Seperti yang bisa Anda tebak, kami menggunakan klausa GROUP BY untuk mempartisi data dalam tabel tertentu berdasarkan nilai tertentu. Sintaks klausa adalah sebagai berikut:

PILIH kolom1, kolom2, ...
DARI nama_tabel
GROUP BY kolom1, kolom2, ...;


Dalam sintaks sebelumnya, kami menggunakan klausa GROUP BY untuk menentukan kolom yang ingin Anda gunakan untuk mengelompokkan data.

Dari tabel sebelumnya, kita dapat menggunakan kolom tanggal untuk mengelompokkan data seperti yang diperlihatkan dalam kueri berikut:

PILIH tanggal , JUMLAH ( jumlah ) sebagai jumlah total
DARI transaksi
KELOMPOK OLEH tanggal ;


Kueri sebelumnya melakukan perhitungan dasar dan menambahkan jumlah total untuk setiap hari menggunakan fungsi sum() . Kami kemudian mengelompokkan data berdasarkan nilai tanggal. Tabel yang dihasilkan adalah sebagai berikut:

Format Tanggal

Terkadang, kita mungkin perlu memformat tanggal dan membuatnya lebih mudah dibaca. Contohnya adalah sebagai berikut:

PILIH TANGGAL_FORMAT ( tanggal , '%m/%d/%Y' ) sebagai tanggal_format, JUMLAH ( jumlah ) sebagai jumlah total
DARI transaksi
KELOMPOK OLEH tanggal ;


Ini harus mengembalikan nilai tanggal dalam format yang ditentukan sebagai berikut:

Rentang Tanggal Filter SQL

Kami juga dapat memfilter hasil yang ditetapkan oleh rentang tanggal menggunakan klausa WHERE. Contohnya adalah sebagai berikut:

PILIH TANGGAL_FORMAT ( tanggal , '%m/%d/%Y' ) sebagai tanggal_format, JUMLAH ( jumlah ) sebagai jumlah total
DARI transaksi
DI MANA tanggal DI ANTARA '2023-01-01' DAN '2023-01-15'
KELOMPOK OLEH tanggal ;


Tabel yang dihasilkan ditunjukkan berikut ini:


Itu dia! Cara mengelompokkan data dari tabel tertentu berdasarkan nilai tanggal.

Kesimpulan

Tutorial ini mengeksplorasi dasar-dasar bekerja dengan klausa GROUP BY di SQL untuk mengurutkan data berdasarkan nilai tertentu. Ini memungkinkan kami untuk membahas cara menggunakan klausa GROUP BY untuk membagi data berdasarkan nilai tanggal.