【发布时间】:2020-01-09 09:43:48
【问题描述】:
我有一张表格,其中包含如下所示的股票订单:
第一列是相应股票的ID,第二列是订单价格,第三列是买入(买)还是卖出(卖出)最后一列是剩余的交易量命令。
我想要做的是获取这些值:
- 最高和最低出价以及最高和最低要价。
- 最高出价和最低要价的总和
我意识到这是一个相当复杂的查询,它可能会涉及一个(或者可能是几个子查询),但我目前的情况是这样的:
SELECT
SYMBOL_CODE as symbol_code,
MAX(ORDER_PRICE) as highest_bid,
MIN(ORDER_PRICE) as lowest_bid,
SUM(VOLUME_TRADED)
FROM ORDERS
WHERE
ORDER_TYPE = 'buy'
GROUP BY
SYMBOL_CODE
order by
SYMBOL_CODE;
在我看来,这有两个问题,首先,它汇总了所有价格的交易量,而不仅仅是最高出价订单的价格,无法弄清楚如何做到这一点,其次,这只对出价,我不得不为询问写另一个查询。我尝试按 order_type 进行分组,但没有得到预期的结果(股票有 1 行或 2 行结果,具体取决于它们是否有买/卖单或两者兼有)
【问题讨论】:
-
编辑问题添加预期结果。
-
我必须添加大量示例数据,以便您了解它们如何影响输出。如果它们不够清楚,我可以更多地解释所需的值。我还可以添加
.sql文件 -
您的预期输出样本将有所帮助
标签: sql sql-server