Richtige Berechnungsweise des Perzentils

Ich verwende Microsoft SQL server 2014.

Ich habe einen Tisch mit Spaltennamen wie: col1, col2, Values . Ich muss das 99. Perzentil der Values für jedes Paar von einzigartigen col1, col2 Identifikatoren finden. dh Wert, für den 99% der Values kleiner sind.

Ich habe folgendes versucht:

  SELECT [col1], [col2], PERCENTILE_CONT(0.99) WITHIN GROUP (ORDER BY [Values] ASC) OVER (PARTITION BY [col1], [col2]) "Percentile_Cont" FROM MyTable 

Allerdings produziert es wiederholtes [col1], [col2] Paar.

Was ist die vorgeschlagene korrekte Implementierung, um eindeutige Paare von [col1], [col2] mit ihren entsprechenden Perzentilen zu erhalten?

Bearbeiten: Beispieldaten:

 col1 col2 values A a2 1 A a2 2 A a2 1 A a2 12 B a1 11 B a1 11 B a1 12 B a1 15 

erwartete Antwort:

 A a2 11.7 B a1 14.91 

Verwenden Sie DISTINCT

 SELECT DISTINCT [col1], [col2], PERCENTILE_CONT(0.99) WITHIN GROUP (ORDER BY [Values] ASC) OVER (PARTITION BY [col1], [col2]) "Percentile_Cont" FROM MyTable