Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL 8 Menghitung Rata-Rata dengan Mempartisi Berdasarkan Tanggal

Anda dapat menggunakan fungsi jendela. Triknya adalah dengan mengambil jumlah jendela dari total skor per karyawan untuk setiap hari, seperti:

select
    employee_name,
    date(created_at) created_date,
    100 * sum(score) / sum(sum(score)) over(partition by date(created_at)) monthly_score
from scores
group by employee_name, date(created_at)

Di Fiddle DB Anda , ini menghasilkan:

| employee_name | created_date | monthly_score |
| ------------- | ------------ | ------------- |
| John          | 2020-04-01   | 30.27         |
| Bob           | 2020-04-01   | 69.73         |
| John          | 2020-04-02   | 15.55342      |
| Bob           | 2020-04-02   | 68.42864      |
| James         | 2020-04-02   | 16.01794      |



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara memperbarui zona waktu untuk stempel waktu (created_at dan updated_at) yang dikelola oleh Laravel Eloquent?

  2. Mencegah Injeksi SQL dalam SQL dinamis

  3. Apa yang Baru Dengan Replikasi MySQL di MySQL 8.0

  4. MySQL ORDER BY [nilai bidang SET kustom]

  5. tidak dapat menyimpan data dari 1 tabel ke tabel lain