go backsqlschool blogs list

TOP WITH TIES

by 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;

Ημερομηνία: 15 March 2016 20:37
Αξιολόγηση: ( 1 )
Tags:
Share it:

Αφήστε το σχόλιο σας - Leave your comment

Τα σχόλια έχουν κλείσει.
Επιτρέπονται μόνο τα σχόλια από τα μέλη του SqlSchool.gr.


newsletter subscription

Εάν επιθυμείτε να λαμβάνετε ενημέρωση από εμάς, δώστε μας το e-mail σας.
PASS chapter logo
Official Professional Association for SQL Server (PASS) chapter for Greece
Join to PASS