5
hstoreカラムの値に対して集約クエリを実行できますか?たとえば、私はcount
フィールドのSUM
を店内に決定したいと思います。PostgreSQL HStoreの値に集計関数を使用できますか?
hstoreカラムの値に対して集約クエリを実行できますか?たとえば、私はcount
フィールドのSUM
を店内に決定したいと思います。PostgreSQL HStoreの値に集計関数を使用できますか?
はい。しかし、値はテキストとして保存されるため、最初に適切なデータ型に値をキャストしなければなりません。したがって、インチの高さをインチ単位で合計すると、「その他」列のhstoreに格納されます
CREATE TABLE my_table (
id integer primary key,
other hstore
);
insert into my_table values
(1, hstore('height_in', '72') || hstore('weight_lbs', '180')),
(2, hstore('height_in', '65') || hstore('girth_in', '42'));
select sum((other->'height_in')::integer) sum_of_height
from my_table;
sum_of_height
--
137
整数にキャストできない値が1行に含まれているとしたらどうなりますか?それは 'ERROR:整数のための無効な入力構文:'を与えるでしょうから、その行をスキップして望みの結果を得るには? – RockStar
@RockStar:WHERE句と正規表現を使用してください: 'where(other - > 'height_in')〜 '^ \ d + $''。しかし、これを行う必要がアプリケーションコードのエラーを指しています。それを修正してください。 –