私は、SQL Serverでこの同じような何かを探しています:PostgreSQLはTOP n WITH TIESに相当します:LIMIT "with ties"?
SELECT TOP n WITH TIES FROM tablename
私はおよそLIMIT
PostgreSQLのを知っているが、上記が存在相当していますか?私はそれが毎回余分なクエリを保存するので、ちょうど興味があります。
テーブルNumbers
の属性がnums
の場合:{10, 9, 8, 8, 2}
です。それは他のものを結びつけるので、それはトップ3に加えて、余分な8
がかかるため、それは{10, 9, 8, 8}
を返すべき
SELECT nums FROM Numbers ORDER BY nums DESC LIMIT *with ties* 3
:私のような何かをしたいです。
なぜ、この複雑な? rank()関数は必要なものを正確に実行しますか? –
@a_horse_with_no_name:あなたは絶対に正しいです(最初は私がそうでした)。私の2番目の考慮事項は未だに評価されていませんでした。 –
@Erwin:それはいいです(http://data.stackexchange.com/stackoverflow/query/63525/top-n-with-ties)、私はstackoverflowにクエリを実行する組み込みモジュールがあることを知らなかった:-) 10,9,8,8,2,10の10,10,9の出力は、上位3(10,9,8)を取得して10,9,8をすべてリストする必要がある場合は正しくありませんが、 10,10,9,8,8でなければなりません。 'WITH TIES'はいくつかの問題のケースでは正しくないかもしれません:http://stackoverflow.com/questions/2611822/distinct-with-count-and-sql-server-2005/2612456#2612456 –