私は30行のテーブルteams
を持っており、いくつかの統計情報が属性として格納されています。たとえば、目標、目標など、私はrank()を使用してレコードをランク付けする良い仕事をするビューを作成しました。私はランクがタイであるかどうかに基づいてブール値を返します追加の列を追加したいと思いPostgresqlのランク()の関係を説明する方法
SELECT name,
points,
rank() OVER (ORDER BY points DESC) AS point_tank
FROM teams;
name | points | point_rank
-----------------------+-----------+----------------
Team 1 | 14 | 1
Team 2 | 11 | 2
Team 3 | 9 | 3
Team 4 | 9 | 3
:ここでは要約クエリの例と結果のテーブルです。この例ではチーム3とチーム4です。
name | points | point_rank | tie
-----------------------+-----------+----------------+----------------
Team 1 | 14 | 1 | false
Team 2 | 11 | 2 | false
Team 3 | 9 | 3 | true
Team 4 | 9 | 3 | true
ここのアイデアは何ですか?あるいは、私はこれを間違って近づけてランク()を乱用していますか?前もって感謝します!
一つのオプションは、共通テーブル式にあなたの現在のクエリを配置し、ランクを識別するためにそれを使用することです
おかげで、これは働いていたし、それは私がよりよいCTEを理解して助けました。 –