0
ウィンドウを使用すると、現在のパーティションのサイズ(行数)はどのように取得できますか?PostgreSQLのパーティション(ウィンドウ)のサイズを取得するには?
たとえば、ブログ内の投稿のコメントを保持するテーブルがあるとします。最初のコメント、2番目のコメント、最後のコメント、コメント数を知ることができます(投稿ごとにグループ化し、COUNT(*)
を実行する別のサブクエリはありません)。
クエリは次のようになります。
SELECT DISTINCT
post_id.
first_value(comment_text) OVER wnd AS first_comment,
nth_value(comment_text, 2) OVER wnd AS second_comment,
last_value(comment_text) OVER wnd AS last_comment,
SOME_FUNCTION(comment_text) OVER wnd AS number_of_comments
FROM comments
WINDOW wnd AS (
PARTITION BY post_id
ORDER BY comment_created_at ASC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
);
SOME_FUNCTION
は何をすべきですか?
こんにちは、質問を書いただけで私は(ほとんど)答えに繋がったのです。ありがとうございました。 – OferBr