#kdb #k
#kdb #k
Вопрос:
У меня есть следующая таблица ниже, и я хотел бы удалить все строки, которые являются дубликатами. Я создал столбец dup, который подсчитывает количество дубликатов.
delete from table where dup>1
удалил бы все записи дубликата, и я все равно хотел бы, чтобы в моей таблице осталась 1 запись.
ISIN RIC BLOOMBERG dup
-----------------------------------
LU1681046006 CWEm.BS CWEM EB 2
LU1681046006 CWEm.BS CWE EB 2
LU1681046006 CWEm.BS CWEM EB 2
LU1681046006 CWEm.BS CWE EB 2
LU1681046006 CWEm.CHI CWEM IX 2
LU1681046006 CWEm.CHI CWE IX 2
LU1681046006 CWEm.CHI CWEM IX 2
LU1681046006 CWEm.CHI CWE IX 2
LU1681046006 CWE.MI CWE IM
LU1681046006 WDNR.DE WDNR GY
Таким образом, результирующая таблица должна выглядеть следующим образом:
ISIN RIC BLOOMBERG dup
-----------------------------------
LU1681046006 CWEm.BS CWEM EB 2
LU1681046006 CWEm.BS CWE EB 2
LU1681046006 CWEm.CHI CWEM IX 2
LU1681046006 CWEm.CHI CWE IX 2
LU1681046006 CWE.MI CWE IM
LU1681046006 WDNR.DE WDNR GY
Есть идеи, как я могу этого добиться?
Ответ №1:
Попробуйте distinct <table name>
Это должно вернуть вам все отдельные строки вашей таблицы
Для получения дополнительной информации, пожалуйста, перейдите по этой ссылке: https://code.kx.com/q/ref/search/#distinct
Ответ №2:
Я думаю, вы могли бы использовать distinct
вместо того, чтобы пытаться подсчитывать дубликаты.
q)td
a b
-----
kdj 8
eeg 1
nce 9
jog 5
cih 4
hkp 6
aea 6
blm 1
ooe 8
jgj 5
jgj 5
q)distinct td
a b
-----
kdj 8
eeg 1
nce 9
jog 5
cih 4
hkp 6
aea 6
blm 1
ooe 8
jgj 5