【发布时间】:2020-09-28 15:41:27
【问题描述】:
我的表中有一个汽车样本,我想使用 SQL 计算我的样本的中位价格。最好的方法是什么?
+-----+-------+----------+
| Car | Price | Quantity |
+-----+-------+----------+
| A | 100 | 2 |
| B | 150 | 4 |
| C | 200 | 8 |
+-----+-------+----------+
如果我的表是这样的,我知道我可以使用 percentile_cont(或 percentile_disc):
+-----+-------+
| Car | Price |
+-----+-------+
| A | 100 |
| A | 100 |
| B | 150 |
| B | 150 |
| B | 150 |
| B | 150 |
| C | 200 |
| C | 200 |
| C | 200 |
| C | 200 |
| C | 200 |
| C | 200 |
| C | 200 |
| C | 200 |
+-----+-------+
但在现实世界中,我的第一个表大约有 1 亿行,第二个表应该有大约 3 个台球行(而且我不知道如何将我的第一个表转换为第二个)。
【问题讨论】:
-
所有方法都适用于我的第二张桌子,而不是第一张
-
jarlh,这将是平均价格而不是中位数
-
请标记您正在使用的数据库
-
George Joseph,我有两个数据库 - Oracle 和 SQL Server
标签: sql sql-server median