Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL 8 oblicza średnią według partycjonowania według daty

Możesz korzystać z funkcji okna. Sztuczka polega na tym, aby zsumować okno całkowitego wyniku na pracownika za każdy dzień, na przykład:

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)

W Twoim DB Fiddle , to daje:

| 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. Obsługa wyjątków EntityManager w ziarnach sesji

  2. Prawidłowe unikanie myślnika (-) w zapytaniu mysql

  3. jak wysłać pocztę z mysql za pomocą procedur przechowywanych?

  4. Sprawdź, czy IPv6 jest w zasięgu

  5. Dane znaków hiszpańskich MySql