Предположим, у меня есть таблица foo
в Postgres 11.5:
CREATE TABLE foo (an_int integer, a_varchar varchar(50));
Я могу выбрать уникальные столбцы по целому числу и получить пару значений a_varchar
в качестве примеров следующим образом:
SELECT an_int,
min(a_varchar) min_a_varchar,
max(a_varchar) max_a_varchar
FROM foo
GROUP BY 1;
Предположим, у меня есть таблица foo2
вместо:
CREATE TABLE foo2 (an_int integer, an_hstore hstore);
Есть ли аналогичный способ выбрать одну строку для an_int
и извлечь одну или несколько hstore ценности?Я попытался использовать hstore_to_json()
, и это не сработало.Преобразование в varchar
сработало, но я не знаю, хорошо ли это сохраняет данные.
Так что мой лучший ответ на данный момент:
SELECT an_int,
min(an_hstore::varchar) min_an_hstore,
max(an_hstore::varchar) max_an_hstore
FROM foo2
GROUP BY 1;