Використання фільтра top з параметром with ties, windows it pro

Надіслати заявку на отримання матеріалів

Коли під час навчальних занять з T-SQL ми обговорюємо фільтр TOP і згадується параметр WITH TIES, я часто бачу здивовані обличчя слухачів. Очевидно, багатьом невідомо про існування цього параметра і його призначення, хоча він з'явився в фільтрі TOP в версії SQL Server 7.0.

Розглянемо наступний запит:

Цей запит повертає три останніх замовлення. Але оскільки стовпець orderdate не унікальний, не можна визначити переваги між рядками з однаковою датою. Через це запит стає недетермінованим. Порядок доступу до рядків з однаковою датою визначається порядком фізичного доступу. Завдяки параметру WITH TIES виконання запиту не зупиняється негайно після того, як повернуто заданий число рядків, а видаються всі зв'язки з останнім рядком з урахуванням елементів впорядкування (в даному випадку orderdate). Це означає, що ви можете отримати більше рядків, ніж було запитано, але відбір рядків стає детермінованим.

Застосувати цей параметр з нашим запитом можна наступним чином:

Тепер, коли ми з'ясували можливості параметра WITH TIES, пропоную вам невелику задачу. Перш ніж запустити наведений нижче запит, спробуйте відповісти, що він робить.

Виконайте наступний програмний код, щоб отримати відповідь:

Ваш відповідь була вірним?

Поділіться матеріалом з колегами і друзями