【发布时间】:2022-01-23 18:50:04
【问题描述】:
这是我的数据集的一部分(例如冰淇淋的口味及其评级):
| flavor | rating |
|---|---|
| cherry, apple, flower | 4.0 |
| apple, chocolate, banana | 3.0 |
| banane, chocolate, strawberry | 4.0 |
| cherry, banane, strawberry | 1.0 |
现在我想计算口味的平均评分。 这样我得到以下输出:
| flavor | avg(rating) |
|---|---|
| cherry | 2.5 |
| apple | 3.5 |
| banane | 2.66 |
| strawberry | 2.5 |
| chocolate | 3.5 |
| flower | 4.0 |
如何在 mysql 中解决这个问题?
【问题讨论】:
-
请标记您的特定 RDBMS
-
规范化你的架构。见"Is storing a delimited list in a database column really that bad?"(剧透:是的。)。
-
不是完全重复,但这里的大问题是将数据拆分为单独的行,如 stackoverflow.com/q/17942508/2422776 中所回答的那样。从那里开始,您可以按风味分组并查询平均值。