Как отбросить дублированные значения в DolphinDB? - PullRequest
2 голосов
/ 17 февраля 2020

У меня огромная таблица с дублированными значениями в столбце «дата» (например, 2019.01.01,2019.01.01,2019.01.02 ...), и я хочу удалить строки с повторяющимися значениями в столбце «дата» ». Вот несколько строк таблицы:

date       tick1     tick2     tick3     tick4
---------- --------- --------- --------- ---------
2019.01.01 8.229311  2.1392    45.886541 6.313477
2019.01.01 23.231155 25.810208 28.9341   1.128805
2019.01.01 11.540543 29.549798 31.069421 33.857873
2019.01.01 23.962028 6.652761  12.066605 5.232747
2019.01.01 39.342321 27.167645 2.171752  13.253192
2019.01.02 48.061951 19.817751 27.240194 38.289626
2019.01.02 0.678149  34.418003 5.43372   15.001061
2019.01.02 10.293357 5.26047   32.7181   0.55811
2019.01.03 23.540395 11.903505 28.543388 41.287217
2019.01.03 44.962452 50.714795 12.316604 30.056682
2019.01.03 14.342974 24.605586 14.026185 27.834454
2019.01.04 40.417088 4.122359  16.789886 50.838232
2019.01.04 3.968208  30.333996 14.35784  30.425456
2019.01.05 30.455829 16.391236 41.437266 43.053634
2019.01.06 35.302785 47.013003 4.511764  33.360219

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

diff=exec distinct(date) from tb 

Но как сделать так, чтобы сохранить самую новую запись каждого значения в вектор "diff" и удалить старые записи?

Например, в приведенной выше таблице сохраните этот рекорд только для даты, равной 2019.01.01:

2019.01.01 39.342321 27.167645 2.171752  13.253192

Итак, как я могу написать SQL скрипт для удаления повторяющихся строк таблицы?

1 Ответ

1 голос
/ 19 февраля 2020

DolphinDB предлагает функцию isDuplicated для удаления дублированных значений.

select * from t where not isDuplicated(date, LAST)
...