私は、postgresqlテーブルで最も頻繁に値を見つけようとしています。問題は、そのテーブルで「グループ化」し、同じ名前の値から最も頻度の高いものだけを取得したいということです。 だから私は次のクエリがありますので、ネストされたクエリの属性別グループの取得
select name,
(SELECT value FROM table where name=name GROUP BY value ORDER BY COUNT(*) DESC limit 1)
as mfq from table group by name;
を、私は、where name=name
を使用して属性「名前」によって外部グループを取得しようとしているが、動作するようには思えないのです。どのようにそれを行う上の任意のアイデア?
編集:例えば、次の表に:
name value
a 3
a 3
a 3
b 2
b 2
私が取得したい:
name value
a 3
b 2
しかし、上記の文が与える:代わりに
name value
a 3
b 3
、どこdoesnのため、正しく動作しません。
サンプルデータと希望の結果を提供できますか?あなたの説明はつづきにくいです。 –