从Postgres中的表中获取多个列值的uniq集

时间:2019-03-14 14:41:08

标签: database postgresql indexing bigdata

我有一个数据库表,其中的记录格式如下:   col1(String)| col2(String)| col3(double)

col1和col2包含节点之间的距离。现在,我想获取按距离排序的所有uniq节点,该节点存储在col3中。

现在,我正在按排序顺序获取所有值,并从中查找uniq值。但这会花费太多时间(以小时为单位)。

select col1, col2 from tablex order by col3 desc

如果该数据库不是理想的存储和查询方式,请提出更好的建议。

enter image description here

 expected output => 

 take pairs on the order of correlation value from
 highest to lowest =>  
  (d1, d3) -> 0.32 
  (d3, d4) -> 0.22 
  (d2, d3) -> 0.21 
  (d1, d2) -> 0.16 
  (d1, d4) -> 0.13 
  (d2, d4) -> 0.11

 -> finally merge them and return uniq ones. d1, d3, d3, d4, d2, d3, d1, d2, d1, d4, d2, d4

 -> final result :  d1, d3, d4, d2 (here i am taking the first occured one and ignoring the next)

0 个答案:

没有答案