2つの列(つまり、「address_token」という一意の識別子と「list_date」と呼ばれる日付フィールド)によって定義されたウィンドウに対して、列A(「original_list_price」)の最大値を取得しようとしています。私。同じaddress_tokenとlist_dateの両方を持つ行のmax "original_list_price"について知りたいです。Postgresqlの書き込みmax()複数のパーティション式を持つウィンドウ関数?
例えば:
SELECT
address_token, list_date, original_list_price,
max(original_list_price) OVER (PARTITION BY address_token, list_date) as max_list_price
FROM table1
私が(例えば、それだけで後は何もaddress_token使用していない)PARTITIONでちょうど1式を使用する場合、クエリが既に> 10分かかります。クエリがタイムアウトすることがあります。 (私はモード分析を使用し、このエラーが発生します:バックエンドに送信中にI/Oエラーが発生しました)質問:
1)Window関数は複数のPARTITION BY式で機能しますか?
2)希望の結果を得るための他の方法はありますか?
3)Windowsの機能を実現する方法、特にパーティション部分の実行速度が向上していますか?例えば他のデータ型よりも特定のデータ型を使用する場合は、長い英数字の文字列識別子を使用しないでください。
ありがとうございました!
グループ化セット/ with-rollupを探しているのだろうか –