我有一個表,它有一個名爲Score
的特定數字列。我想對該表執行查詢,其結果將有100行,每行表示與該百分點相對應的分數。例如,結果可能如下所示:上述SQL:查找百分點
Percentile | Score
---------------------
01 | 10
02 | 12
03 | 12
04 | 17
... | ...
99 | 1684
100 | 1685
在結果表得分值是存在於原始表實際分數值,並且不進行內插。插值結果會更好,但不是必需的。
可能有幾種啓發式方法可以產生這樣的結果。我今天使用的(代碼)基本上如下 - 與百分位對應的分數值將是分數值,其中:分數較小的行數除以總行數,四捨五入爲整數,相當於百分(我希望這是明確的)
我可以考慮其他的啓發,如果它們是更容易實現
我在MS-SQL的工作,但希望一個解決方案,也適用於MySQL的。
達到此目的的最佳方法是什麼?
我不知道,如果是最好的SQL本身內實現這一點。 – Amber
@Dav:我也不確定。我試圖瞭解在SQL中是否可行,以及性能影響。有數千萬記錄我不記憶 - 也許SQL是最好的方法。 –
@Dav:另一點 - 如果你認爲它不適合SQL,並且你可以使用具體的參數來支持它,那麼這是一個有效的**答案**是我的觀點。 –