私はpostgresqlの共通の問題を知っていますが、私はstackoverflowで多くのソリューションを試しましたが、結果が得られませんでした。カラムは、postgresqlのgroup by句のエラーに表示する必要があります
これはphpPGAdminクエリブラウザで実行している私のクエリです。
SELECT target_financial_advisor,
acquiror_finanial_advisor,
target_nation,
acquiror_nation,
rank_value,
rank_date
FROM ma_global
WHERE target_nation = 'France'
AND acquiror_nation = 'France'
AND EXTRACT(YEAR
FROM "rank_date") = 2013
AND rank_date IS NOT NULL
GROUP BY target_financial_advisor,
acquiror_finanial_advisor LIMIT 50;
このクエリは、私がgroup by句を使用しますが、私はその後、GROUPBYせずにそれを実行した場合、それが動作するかどうか、その理由は、私は通常、MySQLで動作しているかわからない、これはで私の最初のクエリでは動作しません。 postgresqlは、mysqlでうまく動作します。
エラー
ERROR: column "ma_global.target_nation" must appear in the GROUP BY clause or be used in an aggregate function LINE 4: target_nation, acquiror_nation,
"rank_dateは" 結構ですか? –
はい、rank_date条件を削除しても、同じ問題が発生します – Pankaj
エラーはクリアです。グループ化する場合は、すべての戻り値を集計で使用するか、グループ化セレクタに表示する必要があります。 target_nationに200の異なる値がある場合は、どの値を返す必要がありますか?あなたは指定しません。これはMySQLではなく、適切なデータベースです。 –