如何在psycopg2查询中返回json?

时间:2015-01-27 05:06:03

标签: python json postgresql-9.2 psycopg2

我正在使用psycopg2(版本2.5.4)来查询PostgreSQL数据库(版本9.2.7)。我查询的一个列是一个json类型,psycopg2被记录为能够处理。但是,我收到以下错误:

  

psycopg2.ProgrammingError:无法识别类型为json的等号运算符

我没有对相关列执行任何相等操作,只是使用select语句返回它。查询很简单,也很直接:

SELECT DISTINCT me.measure_id, me.choices  
FROM measures ME  
WHERE TRUE AND me.measure_id IN (3)  
ORDER BY me.measure_id;

me.choices是表中唯一的JSON类型列。我进行了广泛的搜索,一无所获,也无法想到前进的方向。任何建议将不胜感激。

1 个答案:

答案 0 :(得分:1)

select distinct要求每个完整行都是不同的。所以当你说select DISTINCT me.measure_id, me.choices时,你要求postgresql在choices上执行相等操作,看两行是否相同。

假设measure_idmeasures的主键,您可以删除distinct。否则,您可以使用distinct on仅为measure_id抓取一行。