TOP WITH TIES
Fivi Panopoulou - Sotiris Karras
Σε αυτό το post θα δούμε την επιλογή WITH TIES την οποία μπορούμε να χρησιμοποιήσουμε μαζί με το TOP.
Η επιλογή αυτή μας δίνει την δυνατότητα, να φέρουμε μαζί με τον επιλεγμένο αριθμό έγγραφών που ορίζουμε στο TOP και όσες ακόμα έχουν την ίδια τιμή στο πεδίο με το οποίο κάνουμε ORDER BY, με αυτή που αντιστοιχεί στην τελευταία γραμη του αποτελέσματος. Η «ισοπαλία» εφαρμόζεται στο τελευταίο όριο του αποτελέσματος.
Ας δούμε ένα παράδειγμα, χρησιμοποιώντας τον πίνακα Product της AdventureWorks. Έστω ότι θέλουμε να φέρουμε τα 10 ακριβότερα με βάση το ListPrice προιόντα από αυτόν τον πίνακα. Αυτό θα το κάναμε με το παρακάτω query και θα παίρναμε το αποτέλεσμα που φαίνεται στην παρακάτω εικόνα.
SELECT TOP 10 Product.ProductID, Product.Name, Product.ListPrice
FROM Production.Product AS Product
ORDER BY Product.ListPrice DESC;
Παρατηρώντας πιο προσεκτικά τα δεδομένα του πίνακα, μπορεί κανείς να δει, ότι υπάρχουν σε αυτόν άλλα 3 προιόντα με τιμή ίση με αυτή του τελευταίου προιόντος (δηλαδή 3374.99). Αν θέλαμε λόγω αυτής της «ισοπαλίας» να φέρουμε και αυτά τα προιόντα, θα χρησιμοποιούσαμε την επιλογή WITH TIES όπως φαίνεται στο παρακάτω query, λαμβάνοντας το αποτέλεσμα των δεκατριών γραμμών που ακολουθεί.
SELECT TOP 10 WITH TIES Product.ProductID, Product.Name, Product.ListPrice
FROM Production.Product AS Product
ORDER BY Product.ListPrice DESC;