Удалите лишние повторяющиеся записи в неиспользованной таблице - PullRequest
0 голосов
/ 22 марта 2019

У меня есть следующая таблица ниже, и я хотел бы удалить все строки, которые являются дубликатами.Я создал столбец 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

Есть идеи, как мне этого добиться?

Ответы [ 2 ]

7 голосов
/ 22 марта 2019

Попробуйте distinct <table name>

Это должно вернуть вам все отдельные строки вашей таблицы

Для получения дополнительной информации, пожалуйста, обратитесь по этой ссылке: https://code.kx.com/q/ref/search/#distinct

4 голосов
/ 22 марта 2019

Я думаю, вы можете использовать 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

...