J'ai la table items_ratings
comme suit:MySQL: Note moyenne par article, en utilisant la dernière note pour les utilisateurs
items_ratings
+----+--------+---------+---------+---------------------+
| id | rating | user_id | item_id | created (DATETIME) |
+----+--------+---------+---------+---------------------+
| 1 | 20 | 1 | 12 | 2017-07-12 14:00:04 |
| 2 | 80 | 2 | 12 | 2017-07-12 15:32:12 |
| 3 | 50 | 1 | 15 | 2017-08-01 11:14:04 |
| 4 | 90 | 1 | 12 | 2017-08-02 19:23:19 |
| 5 | 60 | 2 | 15 | 2017-08-05 19:23:19 |
+----+--------+---------+---------+---------------------+
je dois récupérer la valeur moyenne par item_id
, en utilisant la plus récente note de chaque utilisateur.
Ce qui suit me donne la note moyenne pour chaque élément:
SELECT AVG(rating) FROM items_ratings
GROUP BY item_id
J'ai également identifié que la requête suivante me donne la dernière ligne pour chaque user_id
, par item_id
. Je ne suis pas sûr de la façon dont je devrais combiner ces requêtes pour obtenir le résultat désiré.
Voir: [Pourquoi devrais-je fournir un MCVE pour ce qui me semble être une très simple requête SQL?] (ht tps: //meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-query) – Strawberry