Menghitung Jumlah Kumulatif dan Rerata Berjalan – MySQL Dasar #80
                            Dimislakan Anda memiliki sehimpunan data observasi yang diukut terhadap waktu dan ingin menghitung jumlah kumulatif dan observasi pada tiap titik perhitungan atau misalnya Anda ingin menghitung rata – rata berjalan pada tiap titik. 
                            
                              
                            
                            
                              
                            
                            
                            
                            
                            
                            
                            
                          
                        
                              Lihat daftar isi : Menggunakan Multi Tabel - MySQL Dasar #72 
                              
                                
                              
                              
                            
                                Selanjutnya dimisalkan disini kita memiliki sebuah tabel yang akan menunjukan suatu himpunan pengukuran curah hujan yang diambil pada beberapa hari berturut – turut. Nilai – nilai pada tiap baris menunjukan tanggal observasi dan curah hujam dalam cm.
                                
                            MariaDB [root93]> CREATE TABLE curahhujan
    -> (
    -> tanggal DATE,
    -> curah INT);
Query OK, 0 rows affected (0.488 sec)
MariaDB [root93]> INSERT INTO curahhujan (tanggal,curah)
    -> VALUES ('2022-06-01',3), ('2022-06-02',1),
    -> ('2022-06-03',4), ('2022-06-04',2),('1013-06-05',1);
Query OK, 5 rows affected (0.064 sec)
Records: 5  Duplicates: 0  Warnings: 0
MariaDB [root93]> SELECT * FROM curahhujan;
+------------+-------+
| tanggal    | curah |
+------------+-------+
| 2022-06-01 |     3 |
| 2022-06-02 |     1 |
| 2022-06-03 |     4 |
| 2022-06-04 |     2 |
| 1013-06-05 |     1 |
+------------+-------+
5 rows in set (0.001 sec)
MariaDB [root93]> SELECT SUM(curah)
    -> FROM curahhujan
    -> WHERE tanggal <= '2022-06-03-';
+------------+
| SUM(curah) |
+------------+
|          8 |
+------------+
MariaDB [root93]> SELECT t1.tanggal, t1.curah AS 'curah hujan perhari',
    -> SUM(t2.curah) AS 'curah hujan kumulatif'
    -> FROM curahhujan AS t1, curahhujan AS t2
    -> WHERE t1.tanggal >= t2.tanggal
    -> GROUP by t1.tanggal;
+------------+---------------------+-----------------------+
| tanggal    | curah hujan perhari | curah hujan kumulatif |
+------------+---------------------+-----------------------+
| 2022-06-01 |                   3 |                     3 |
| 2022-06-02 |                   1 |                     4 |
| 2022-06-03 |                   4 |                     8 |
| 2022-06-04 |                   2 |                    10 |
| 2022-06-05 |                   1 |                    11 |
+------------+---------------------+-----------------------+
5 rows in set (0.001 sec)
MariaDB [root93]> SELECT t1.tanggal, t1.curah AS 'curah hujan perhari',
    -> SUM(t2.curah) AS 'curah hujan kumulatif',
    -> COUNT(t2.curah) AS hari,
    -> AVG(t2.curah) AS 'curah hujan rat - rata'
    -> FROM curahhujan AS t1, curahhujan AS t2
    -> WHERE t1.tanggal >= t2.tanggal
    -> GROUP BY t1.tanggal;
+------------+---------------------+-----------------------+------+------------------------+
| tanggal    | curah hujan perhari | curah hujan kumulatif | hari | curah hujan rat - rata |
+------------+---------------------+-----------------------+------+------------------------+
| 2022-06-01 |                   3 |                     3 |    1 |                 3.0000 |
| 2022-06-02 |                   1 |                     4 |    2 |                 2.0000 |
| 2022-06-03 |                   4 |                     8 |    3 |                 2.6667 |
| 2022-06-04 |                   2 |                    10 |    4 |                 2.5000 |
| 2022-06-05 |                   1 |                    11 |    5 |                 2.2000 |
+------------+---------------------+-----------------------+------+------------------------+
5 rows in set (0.001 sec)
MariaDB [root93]> SELECT tanggal, curah FROM curahhujan ORDER by tanggal;
+------------+-------+
| tanggal    | curah |
+------------+-------+
| 2022-06-01 |     3 |
| 2022-06-03 |     4 |
| 2022-06-04 |     2 |
+------------+-------+
3 rows in set (0.001 sec)
MariaDB [root93]> SELECT t1.tanggal, t1.curah AS 'curah hujan perhari',
    -> SUM(t2.curah) AS 'curah hujan kumulatif',
    -> COUNT(t2.curah) AS hari,
    -> AVG(t2.curah) AS 'nilai rata - rata'
    -> FROM curahhujan AS t1, curahhujan AS t2
    -> WHERE t1.tanggal >= t2.tanggal
    -> GROUP by t1.tanggal;
+------------+---------------------+-----------------------+------+-------------------+
| tanggal    | curah hujan perhari | curah hujan kumulatif | hari | nilai rata - rata |
+------------+---------------------+-----------------------+------+-------------------+
| 2022-06-01 |                   3 |                     3 |    1 |            3.0000 |
| 2022-06-03 |                   4 |                     7 |    2 |            3.5000 |
| 2022-06-04 |                   2 |                     9 |    3 |            3.0000 |
+------------+---------------------+-----------------------+------+-------------------+
3 rows in set (0.001 sec)
MariaDB [root93]> 
MariaDB [root93]> SELECT t1.tanggal, t1.curah AS 'curah hujan perhari',
    -> SUM(t2.curah) AS 'curah hujan kumulatif',
    -> TO_DAYS(MAX(t2.tanggal)) - TO_DAYS(MIN(t2.tanggal)) +1 AS hari,
    -> SUM(t2.tanggal) / (TO_DAYS(MAX(t2.tanggal)) - TO_DAYS(MIN(t2.tanggal))+1) 
    -> AS 'curah hujan rata - rata'
    -> FROM curahhujan AS t1, curahhujan AS t2
    -> WHERE t1.tanggal >= t2.tanggal
    -> GROUP by t1.tanggal;
+------------+---------------------+-----------------------+------+-------------------------+
| tanggal    | curah hujan perhari | curah hujan kumulatif | hari | curah hujan rata - rata |
+------------+---------------------+-----------------------+------+-------------------------+
| 2022-06-01 |                   3 |                     3 |    1 |           20220601.0000 |
| 2022-06-03 |                   4 |                     7 |    3 |           13480401.3333 |
| 2022-06-04 |                   2 |                     9 |    4 |           15165452.0000 |
+------------+---------------------+-----------------------+------+-------------------------+
3 rows in set (0.001 sec)
 
                              
0 Response to "Menghitung Jumlah Kumulatif dan Rerata Berjalan – MySQL Dasar #80"
Post a Comment
Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin