go backarticles

Articles of SQLschool.gr Team

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;


Relative Articles

Leave your comment

Login with your SQLschool.gr account if you want to comment on this article.


PASS chapter logo

The Official PASS Local Group for Greece

1434 33 595 27 41 1330
sql school greece logo
© 2010-2019 All rights reserved