反馈表
-------------------------------
|rating|feedback|feedback_date|
-------------------------------
| 5 | good | 1452638788 |
| 1 | bad | 1452638900 |
| 0 | ugly | 1452750303 |
| 3 | ok | 1453903030 |
-------------------------------
理想的结果
average_rating | rating | feedback | feedback_date
2.25 | 3 | ok | 1453903030
是否可以(在单个查询中)从表中选择一列和某一行的平均值?
例如,我想检索列
rating
和整个最近行的平均值。我尝试了以下操作,并且也将
ORDER BY
方向设置为DSC
,但是它们都只给了我average_rating
和表中的第一行。SELECT AVG(f.rating) AS average_rating, f.* FROM feedback f ORDER BY feedback_date ASC
最佳答案
SELECT * FROM feedback NATURAL JOIN (
SELECT AVG(rating), MAX(feedback_date) feedback_date FROM feedback
) t
在sqlfiddle上查看。
关于mysql - 选择列和单个特定行的AVG,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38979671/