2017-07-27 11 views
0

Postgresqlテーブルでは、いくつかの固有の姓と名前を数えなければなりません。 問題は、タスクによってdistinctの使用が拒否されていることです。私が実行しようとしました何区別なしで一意のカウントを取得する方法

SELECT COUNT(SURNAME), COUNT (NAME) FROM PEOPLE GROUP BY NAME, SURNAME; 

出力:

1 1 1 1 1およびなど (4939行)

しかし、私がやったように見えます何か間違っているのは、出力で2桁しかカウントできないからです。 それをどうすればいいですか?

+0

サンプルデータと予想出力を表示してください。 –

答えて

1

DISTINCTを使用すると、最初に名前または姓でグループ化してから、その中間テーブルをカウントすることで回避できます。

SELECT 
    (SELECT COUNT(*) FROM 
     (SELECT SURNAME FROM PEOPLE GROUP BY SURNAME) t) AS surname_cnt, 
    (SELECT COUNT(*) FROM 
     (SELECT NAME FROM PEOPLE GROUP BY NAME) t) AS name_cnt 
+0

うん。大いに感謝する。それはうまく動作します。 – tank0412

関連する問題