Добрый день.
Имею таблицу изменения мест хранения вещей:
:) CREATE TABLE events
(
id Int64
, place_id Int32
, dt DateTime
, dt_date Date
, article Int64
) ENGINE = MergeTree(dt_date, (dt, place_id, article), 8192)
В таблице 10 миллиардов записей. Вот часть из них:
id | place_id | dt | dt_date | article |
---------------------------------------------------------
0 | 2 |1998-01-01 |1998-01-01 | 50 |
1 | 1 |2017-01-01 |2017-01-01 | 100 |
2 | 2 |2017-02-02 |2017-02-02 | 100 |
3 | 3 |2017-03-03 |2017-03-03 | 100 |
Нужно увидеть количество вещей на месте 2 на момент dt=2017-04-04 (должно быть 1):
Указанный ниже запрос возвращает не то что нужно:
select
article
, dt
from events
where place_id = 2
and dt <= '2017-04-04'
order by dt desc
limit 1 by article
Видно, что article = 100 на момент времени '2017-04-04' лежит на месте 3.
Прошу помощи - как узнать количество вещей на '2017-04-04' на месте 2 ?