sql >> データベース >  >> RDS >> PostgreSQL

PostgreSQLウィンドウ関数:row_number()over(col2によるパーティション列の順序)

    partition byを検討してください group byするフィールドと同様になります その後、パーティション値が変更されると、ウィンドウ関数は1から再開します

    EDITasはa_horse_with_no_nameで示されます。この必要性のために、dense_rank()が必要です。 row_number()とは異なり rank() またはdense_rank() 割り当てた番号を繰り返します。 row_number() パーティション内の行ごとに異なる値である必要があります。 rank()の違い およびdense_rank() 後者は数字を「スキップ」しません。

    クエリについては、次を試してください:

    dense_rank() over (partition by Username, Game order by ct."date") as "Attempts"
    

    ちなみに、同じフィールドでパーティションを作成したり、並べ替えたりすることはありません。それが必要な場合は、注文するだけで十分です。ここにはありません。




    1. 何が良いですか?サブクエリまたは内部結合10テーブル?

    2. Javaストアドプロシージャを使用してテーブルデータを表示するにはどうすればよいですか?

    3. PHPでSQLの結果をループする-配列全体を取得しない

    4. SETフィールドに使用可能な値を取得するにはどうすればよいですか?