C’è ancora chi si meraviglia davanti all’opzione WITH TIES.
Molti non sanno che esiste o ne sottovalutano l’utilità.
Consideriamo la query
SELECT TOP 3 Name, ListPrice FROM SalesLT.Product ORDER BY ListPrice ASC;
Questa query ritornerà i primi 3 articoli ordinati per ListPrice crescente.
L’opzione WITH TIES indica che, invece di restituire solo il numero richiesto di righe, la query restituirà anche tutte le righe aventi lo stesso valore dell’ultima riga in base ai criteri di ordinamento (ListPrice, nel nostro caso). Questo significa che si potrebbero ottenere più righe rispetto a quelle richieste, ma la selezione delle righe diventa di tipo deterministico (al contrario del caso precedente).
SELECT TOP 3 WITH TIES Name, ListPrice FROM SalesLT.Product ORDER BY ListPrice ASC;
A questo punto potrebbero venire molte idee su come poter utilizzare questa opzione.
Enjoy your sql.