Postgresqlでよく使われる小さな構文

1611 ワード

Postgresqlでよく使われる小さな構文


1.PGでのテストではNマルチデータをループ挿入する必要がある場合があります。この場合functionなどを書くのは面倒です。generate_series来


example:
mrapp=# create table test_series(id int) ; CREATE TABLE mrapp=# insert into test_series(id) select generate_series(1,100000); INSERT 0 100000 mrapp=# select count(1) from test_series;
100000(1行レコード)

2.postgresqlでの2つの文字列の重複数の比較


まずarrayを行データに変換し、別の変換したarrayと重量を除去してから配列にまとめるといいです.
example:
mrapp=# select unnest(array[1,2,4]); mrapp=# select unnest(array[1,2,4]) intersect select unnest(array[2,3,4]); mrapp=# select array(select unnest(array[1,2,4]) intersect select unnest(array[2,3,4]));

array


{2,4}
(1行記録)

3.postgresql列回転配列


array_を使うことができますAgg関数はexampleを処理します.
mrapp=# select 1 as a union select 2 as a union select 3 as a;

a


(3行記録)
mrapp=# select array_agg(t.a) from (select 1 as a union select 2 as a union select 3 as a) as t;

array_agg


{1,2,3}(1行レコード)

4.PG中タイプ変換

 postgresql ,pg 

example : select ‘33’::integer
example2: select case(‘33’ as integer)

5.pgの行番号(oracleのrownumに類似)


example : select row_number() over() , * from XXXX

6.pgでのクエリのカラム回転配列


example : select array_agg(AAAAA) FROM XXXXX