0
私はこのクエリのPostgreSQLのバージョンを書くためのエレガントな方法を探しています:PostgreSQLの他のいくつかのフィールドでGROUP BYと同じクエリでDISTINCT COUNT
SELECT count(distinct a,b)/count(distinct c,d)
FROM t1
GROUP BY e;
それはCONCAT関数を介して行うことができますが、それこの場合、Iパフォーマンスが大幅に低下します。
各個別のカウントは、このように書くことができます。
SELECT count(*), e FROM
(SELECT a, b, e FROM t1 GROUP BY a, b, e) as tmp
GROUP BY e;
と
SELECT count(*), e FROM
(SELECT c, d, e FROM t1 GROUP BY c, d, e) as tmp
GROUP BY e;
しかし、私は最終的な結果
を取得するために、1つのクエリにそれらを結合する方法を見つけることができませんここで構文をテストするテーブルを作成します:
CREATE TABLE t1 (
a int,
b int,
c int,
d int,
e int
);