sql >> Database teknologi >  >> RDS >> Mysql

MySQL 8 Beregner gennemsnit ved partitionering efter dato

Du kan bruge vinduesfunktioner. Tricket er at tage en vinduessum af den samlede score medarbejder for hver dag, sådan:

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)
 

I din DB-violin , dette giver:

| 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. hive.HiveImport:FAILED:SemanticException [Fejl 10072]:Databasen eksisterer ikke:

  2. PDO output utf8 indsæt

  3. Webinar:Sporing af forespørgselsfremskridt i SQL Server

  4. Crypt() saltgenerering og adgangskodekryptering, godt udført?