我如何 return json 在 psycopg2 查询中?
How do I return json in a psycopg2 query?
我正在使用 psycopg2(版本 2.5.4)查询 PostgreSQL 数据库(版本 9.2.7)。我正在查询的列之一是 json 类型,psycopg2 被记录为能够处理。但是,我收到以下错误:
psycopg2.ProgrammingError: could not identify an equality operator for type 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 是 table 中唯一类型为 JSON 的列。我进行了广泛的搜索,但一无所获,也想不出前进的方向。任何建议将不胜感激。
select distinct
要求每一整行都不同。因此,当您说 select DISTINCT me.measure_id, me.choices
时,您要求 postgresql 在 choices
上执行相等操作以查看两行是否相同。
假设 measure_id
是 measures
的主键,您可以删除 distinct
。否则你可以使用 distinct on
只抓取一行 measure_id
.
我正在使用 psycopg2(版本 2.5.4)查询 PostgreSQL 数据库(版本 9.2.7)。我正在查询的列之一是 json 类型,psycopg2 被记录为能够处理。但是,我收到以下错误:
psycopg2.ProgrammingError: could not identify an equality operator for type 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 是 table 中唯一类型为 JSON 的列。我进行了广泛的搜索,但一无所获,也想不出前进的方向。任何建议将不胜感激。
select distinct
要求每一整行都不同。因此,当您说 select DISTINCT me.measure_id, me.choices
时,您要求 postgresql 在 choices
上执行相等操作以查看两行是否相同。
假设 measure_id
是 measures
的主键,您可以删除 distinct
。否则你可以使用 distinct on
只抓取一行 measure_id
.