CTE i ROW_NUMBER() czyli jak wybrać co siódmą umowę?



Bywa, że trzeba wyprodukować „obiektywizm”. Na przykład mamy pulę trudnych umów, chcemy części z nich zaproponować niższą ratę przez pewien okres, w ten sposób chcemy zorientować się czy taka forma pomocy ma sens, czy umowy dzięki temu naprawiają się czy jest to po prostu zbędny ruch. 

Innymi słowy robimy test, ale które umowy będą nim objęte. Tu warto zadbać by algorytm był „ślepy”. 

Zatem pomysł jest następujący: układamy umowy według wartości przedmiotu oraz klient_id. Po takim ułożeniu oferta trafia do co siódmej umowy. 
To znaczy trafi do: 1, 8, 15 i tak dalej.

Jak to wyprodukować kwerendą prezentuje obrazek i kod do poćwiczenia.

Używam CTE i UNION ALL, to dzięki temu wyprodukuję pożądany ciąg numerów, a dzięki użyciu ROW_NUMBER() nadam wierszom numery.

Złączenie dwóch tabel daje mi finalny wykaz i jedziemy.
Do poćwiczenia tutaj.
 


Brak komentarzy:

Prześlij komentarz