2016-07-05 78 views
1

情景:我有具有存储JSON格式的值表的预期结果,以获得不同的或 重复记录的column.I'm的 一个以json格式存储的值(json列值 值之一)的基础上。PostgreSQL的 - 获取的Json的基础上重复的记录值

My table have 3 columns : 
1. Id (integer) 
ex. value - 20 
2. Description (text) 
ex.value - {"first_name":"John","last_name":"Doe","company_id":"26"} 
3. Created (integer) 

现在我想的的基础上重复的记录COMPANY_ID价值和是否有任何功能提供的PostgreSQL这样的要求?

技术信息:

的PostgreSQL的版本 - 9.5

+0

您可以使用[DISTINCT ON](https://www.postgresql.org/docs/current/static/sql-select.html#SQL-DISTINCT) '如果你有'jsonb'',选择distinct(ex.value - >>'company_id')'(或'select distinct(ex.value - >'company_id')'),但其他列中的值不能保证(除非你提供额外的'按'表达式顺序。 – pozs

回答

1

的Postgres 9.5(以及一些早期版本)有一些内置的查询JSON文本支持。请尝试以下查询:

SELECT * 
FROM yourTable 
WHERE Description->>'company_id' = 'some_value' 

Documentation