День 1 по выбору данных из KDB. Я хотел бы выбрать все строки в таблице quote_flat для каждого уникального значения quote_id, но там, где показано только максимальное значение ammendment_no. Каждый quote_id от 1 до n ammendment_no. Меня интересует только финал (max) ammendment_no.

Образец данных

time                            quote_id    amendment_no
2019.08.14D23:15:40.353188000   188484088   1
2019.08.14D23:15:47.234021000   188484088   2
.
.
.
2019.08.14D23:15:47.234026000   188484088   25

Запрос возвращается:

2019.08.14D23:15:47.234026000   188484088   25
kdb
0
Peter Lucas 15 Авг 2019 в 10:55

2 ответа

Лучший ответ

Я думаю, что вы хотите:

select from quote_flat where ammendment_no=(max;ammendment_no) fby quote_id
2
terrylynch 15 Авг 2019 в 08:17

Вы хотите использовать fby, следующее утверждение сделает то, что вы ищете:

select from quote_flat where amendment_no=(max;amendment_no)fby quote_id

https://code.kx.com/v2/ref/fby/ Я думаю, что также стоит упомянуть, что следует избегать использования имен столбцов, которые содержат специальные символы, такие как quote_id, поскольку _ является оператором вырезания / отбрасывания в kdb.

1
Jonathon McMurray 15 Авг 2019 в 08:26