Oto co moje dane wygląda następująco:DENSE_RANK() bez powielania
| col1 | col2 | denserank | whatiwant |
|------|------|-----------|-----------|
| 1 | 1 | 1 | 1 |
| 2 | 1 | 1 | 1 |
| 3 | 2 | 2 | 2 |
| 4 | 2 | 2 | 2 |
| 5 | 1 | 1 | 3 |
| 6 | 2 | 2 | 4 |
| 7 | 2 | 2 | 4 |
| 8 | 3 | 3 | 5 |
Oto zapytanie mam tak daleko:
SELECT col1, col2, DENSE_RANK() OVER (ORDER BY COL2) AS [denserank]
FROM [table1]
ORDER BY [col1] asc
Co chciałbym osiągnąć to dla mojego denserank kolumnie przyrost za każdym razem, gdy następuje zmiana w wartości col2 (nawet jeśli sama wartość jest ponownie używana). Nie mogę faktycznie zamówić przez kolumnę, w której mam gęstość, więc to nie zadziała). Zobacz kolumnę whatiwant
dla przykładu.
Czy jest jakiś sposób osiągnięcia tego celu przy pomocy DENSE_RANK()
? Czy istnieje alternatywa?
Właśnie skopiowałeś mój kod w inny sposób niż nie jest to uczciwe. Wcześniej kod był tak inny –