【问题标题】:SQL Server : Group By Price and Sum AmountSQL Server:按价格和金额分组
【发布时间】:2021-09-21 11:57:53
【问题描述】:

我有一张这样的桌子:

Id Type Price Amount
4284627 sell 307.800000 27.390000
4284640 sell 307.800000 2.670000
4284681 buy 307.600000 0.480000
4284682 buy 307.600000 1.960000

我正在尝试得到以下结果:2 行,相同价格的总和。

Id Type Price Amount
4284627 sell 307.800000 30.06
4284681 buy 307.600000 2.44

谁能指点我正确的方向?

【问题讨论】:

  • 您能解释一下这种转变背后的原因吗?
  • 为什么在结果中需要 ID 列?看起来很有意义,因为您汇总了其他人。
  • 对我来说就像SUMMIN。这些都不是 SQL 中特别困难的概念。
  • 推理是这样的:我需要通过价格显示系统中有多少(数量)卖单或买单。结果中不需要 ID,但我需要按最后到第一个顺序排序,所以是 ID。

标签: sql sql-server


【解决方案1】:

您似乎也想按type 分组:

select min(id), type, price, sum(amount)
from t
group by type, price;

但是对于您的问题,这可行:

select min(id), min(type), price, sum(amount)
from t
group by price;

【讨论】: