我有这个股票价格表(这里是简化版):
+----------+--------+-------+
| Time | Ticker | Price |
+----------+--------+-------+
| 10:00:00 | A | 5 |
| 10:00:01 | A | 6 |
| 10:00:00 | B | 3 |
+----------+--------+-------+
Run Code Online (Sandbox Code Playgroud)
我想通过Ticker选择具有最大时间的行组,例如
+----------+--------+-------+
| Time | Ticker | Price |
+----------+--------+-------+
| 10:00:01 | A | 6 |
| 10:00:00 | B | 3 |
+----------+--------+-------+
Run Code Online (Sandbox Code Playgroud)
我知道如何在SQL中做到这一点,类似的问题可以在这里找到,但我不知道如何在KDB中优雅地做到这一点.
我有一个选择两次的解决方案:
select first Time, first Ticker, first Price by Ticker from (`Time xdesc select Time, Ticker, Price from table where …Run Code Online (Sandbox Code Playgroud) kdb ×1