Сумма SQL, если стиль запроса - PullRequest
0 голосов
/ 03 ноября 2018

enter image description here

У меня есть набор данных, который включает FillQty, цену Fill, Bid и Ask.

Я пытаюсь написать запрос, который будет искать исполнения, где цена заполнения находится между Bid и Ask. Если между ними указана цена заполнения, я хотел бы добавить FillQty для всех строк, где выполняется это условие, и назвать его PIQty. Для приведенных ниже данных мой PIQty будет 2100 акций.

Как будет выглядеть этот sql-запрос?

FillQty FillPrice   Bid Ask PiQTY
100 71.32       71.3    71.32   0
150 16.37       16.36   16.37   0
600 30.085      30.08   30.09   600
500 59.365      59.36   59.37   500
500 28.35       28.34   28.35   0
500 93.04       93.04   93.05   0
500 99.385      79.38   100 500
500 75      71.85   80.1    500
3350                    2100

Ответы [ 3 ]

0 голосов
/ 03 ноября 2018

Попробуйте что-то вроде ниже.

ВЫБРАТЬ FillQty , FillPrice , Заявка , Просить , СЛУЧАЙ, КОГДА FillPrice> Bid AND FillPrice

0 голосов
/ 03 ноября 2018

Простой SELECT с суммой ()

SELECT *, SUM(fillQty) as PiQTY
FROM table1
WHERE fillPrice BETWEEN bid AND ask
0 голосов
/ 03 ноября 2018

Этот оператор обновления будет делать, включив имя таблицы вместо TABLE

ОБНОВЛЕНИЕ ТАБЛИЦЫ УСТАНОВИТЬ PIQTY = FILLQTY ГДЕ FILLPRICE> = ПРЕДЛОЖЕНИЕ И FILLPRICE <= СПРОСИТЬ </p>

После обновления, чтобы получить общее количество PIQTY, запустите

ВЫБРАТЬ СУММУ (PIQTY) из ТАБЛИЦЫ

Чтобы получить сумму без обновления, попробуйте это, я думаю, синтаксис правильный, не могу проверить

ВЫБРАТЬ СУММУ (FILLQTY) ОТ (ВЫБЕРИТЕ ПОЛНОСТЬЮ ИЗ ТАБЛИЦЫ ГДЕ FILLPRICE> = ПРЕДЛОЖЕНИЕ И FILLPRICE <= ЗАПРОСИТЬ) a </p>

...