我想根据另一列获取列的平均值。然后,我想创建一个新的列,其平均值代表每个类别。 我似乎无法弄清楚这一点。谢谢你的帮助。按类别的SQL平均列
这里是我的表
| value | category |
| 3 | a |
| 4 | a |
| 5 | a |
| 2 | b |
| 4 | b |
| 3 | b |
| 1 | c |
| 7 | c |
这里就是我想要的:
| value | category | category avg |
| 3 | a | 4 |
| 4 | a | 4 |
| 5 | a | 4 |
| 2 | b | 3 |
| 4 | b | 3 |
| 3 | b | 3 |
| 1 | c | 4 |
| 7 | c | 4 |
感谢。我有点困惑,因为我只有一张桌子。我已经创建了一个'Category Avg'的空白列,在那里进行计算。那可能吗? – bdkauff 2014-11-06 23:08:42
@bdkauff上面的例子也是如此;-) – Strawberry 2014-11-07 00:37:08
子查询引用与主查询相同的表,但将t2作为别名而不是t。结果将是准确的,但效率不高,因为子表将在每行计算一次。 – 2014-11-07 03:19:44