Postgres按数组值排序

时间:2017-10-20 19:23:51

标签: postgresql datatable

在我的表中,我有一个名为facebook的列,其中包含类型为text []的数组。例如:

{{total_count,26861},{comment_count,94},{comment_plugin_count,0},{share_count,26631},{reaction_count,136}}

我正在使用带有数据表的数据库,当我试图通过facebook对我的表进行排序时,我得到了这个:

enter image description here

这是错的。所以我试图从这个数组中只得到total_count作为数值。现在我有了这个:

regexp_matches(array_to_string(facebook, ' '), '(\d+).*')

但这会返回数组,例如:

enter image description here

所以我添加了:: numeric

regexp_matches(array_to_string(facebook, ' '), '(\d+).*')::numeric

但是我收到了一个错误:

  

无法将text text []转换为数字

任何想法如何解决?

1 个答案:

答案 0 :(得分:2)

  

无法将text text []转换为数字

你需要施展到numeric[]

regexp_matches(array_to_string(facebook, ' '), '(\d+).*')::numeric[]