Агрегация данных SQL - Преобразование строк в столбцы - Таблица с миллиардами строк

user10588842 спросил: 07 октября 2018 в 12:46 в: sql

У меня есть миллиарды строк в таблице. Просто вставьте образец данных.

ticker     trade_date          trade_time     Price      Volume
---------------------------------------------------------------
AKS         01242017             1025           9.995    75038
AKS         01242017             1030          10        86891
AKS         01242017             1031           9.97     52815
AKS         01242017             1036          10.03     83556
AKS         01242017             1037          10.05     92644

Я хочу суммировать данные по торговым часам. Обычные часы NYSE с 09:30 до 1600:00.

Я хочу посмотреть приведенные выше данные выглядят следующим образом

ticker    tdate        1sthour       Avg Price        2nd hour   Avg price
---------------------------------------------------------------------------
AKS        01242017     161929          9.99            229015     10.02

Задача состоит в том, чтобы у меня было 42000 разных тикеров, и большинство тикеров могут не иметь данных за каждый час. В таких случаях я хочу, чтобы 0 отображалось для часа, в который нет продажи акций. Пробный случай с суммой, но результат выглядит не очень хорошо.

Объем рассчитывается следующим образом: 1-й час 930 - 1030 = 75038 + 86891 = 169129Avg цена = (75038 9.995 + 86891 10) / (75038 + 86891 )

0 ответов