Sql top 1 select: sql server — select top 1 * vs select top 1 1
SELECT TOP SQL Server — Oracle PL/SQL •MySQL •MariaDB •SQL Server •SQLite
В этом учебном пособии вы узнаете, как использовать оператор SELECT TOP в SQL Server (Transact-SQL) с синтаксисом и примерами.
Описание
Оператор SELECT TOP SQL Server (Transact-SQL) используется для извлечения записей из одной или нескольких таблиц в SQL Server и ограничения количества возвращаемых записей на основе фиксированного значения или процента.
Синтаксис
Синтаксис оператора SELECT TOP в SQL Server (Transact-SQL):
SELECT TOP (top_value) [ PERCENT ] [ WITH TIES ]
expressions
FROM tables
[WHERE conditions]
[ORDER BY expression [ ASC | DESC ]];
Параметры или аргументы
TOP (top_value) — возвращает верхнее число строк в результирующем наборе на основе top_value. Например, TOP (10) вернет первые 10 строк из полного набора результатов.
PERCENT — необязательный. Если задан PERCENT, то верхние строки основаны на проценте от общего набора результатов (как указано в верхнем значении). Например, TOP (10) PERCENT вернет верхние 10% полного набора результатов.
WITH TIES — необязательный. Если указано условие WITH TIES, то возвращаются строки, связанные со строкой на последнем месте в ограниченном результирующем наборе. Это может привести к возврату большего количества строк, чем позволяет параметр TOP.
expressions — столбцы или вычисления, которые вы хотите получить.
tables — таблицы, из которых вы хотите получить записи. Должна быть хотя бы одна таблица, перечисленная в предложении FROM.
WHERE conditions — необязательный. Условия, которые должны быть выполнены для выбранных записей.
ORDER BY expression — необязательный. Он используется в операторе SELECT TOP для сортировки записей, которые вы хотите вернуть. ASC в порядке возрастания, а DESC — в порядке убывания.
Пример использования ключевого слова TOP
Давайте посмотрим на пример SQL Server, где мы используем ключевое слово TOP в операторе SELECT.
Например:
SELECT TOP(5)
employee_id, last_name, first_name
FROM employees
WHERE last_name = ‘Samson’
ORDER BY employee_id;
SELECT TOP(5) employee_id, last_name, first_name FROM employees WHERE last_name = ‘Samson’ ORDER BY employee_id; |
В этом примере SQL Server SELECT TOP были выбраны первые 5 записей из таблицы employees, где last_name – ‘Samson’. Если в таблице employee есть другие записи с last_name ‘Samson’, то они не будут возвращены оператором SELECT.
Вы можете изменить этот пример, включив предложение WITH TIES следующим образом:
SELECT TOP(5) WITH TIES
employee_id, last_name, first_name
FROM employees
WHERE last_name = ‘Samson’
ORDER BY employee_id;
SELECT TOP(5) WITH TIES employee_id, last_name, first_name FROM employees WHERE last_name = ‘Samson’ ORDER BY employee_id; |
Предложение WITH TIES будет включать строки, которые могут быть связаны со строкой на последнем месте в ограниченном наборе результатов. Поэтому, если с 5-й строкой верхнего набора связаны еще две строки, то все эти связанные строки будут возвращены оператором SELECT TOP. Это приведет к возврату более 7 записей.
Пример использования ключевого слова TOP PERCENT
Рассмотрим пример SQL Server, в котором мы используем ключевое слово TOP PERCENT в операторе SELECT.
Например:
SELECT TOP(10) PERCENT
employee_id, last_name, first_name
FROM employees
WHERE last_name = ‘Samson’
ORDER BY employee_id;
SELECT TOP(10) PERCENT employee_id, last_name, first_name FROM employees WHERE last_name = ‘Samson’ ORDER BY employee_id; |
Этот пример SQL Server SELECT TOP выберет первые 10% записей из полного набора результатов. Поэтому в этом примере оператора SELECT вернет 10% записей из таблицы employees, где last_name — ‘Samson’. Остальные 90% набора результатов не будут возвращены оператором SELECT.
Вы можете изменить этот пример, включив предложение WITH TIES следующим образом:
SELECT TOP(10) PERCENT WITH TIES
employee_id, last_name, first_name
FROM employees
WHERE last_name = ‘Samson’
ORDER BY employee_id;
SELECT TOP(10) PERCENT WITH TIES employee_id, last_name, first_name FROM employees WHERE last_name = ‘Samson’ ORDER BY employee_id; |
Предложение WITH TIES будет включать строки, которые могут быть связаны со строкой которая на последнем месте в ограниченном наборе результатов. Поэтому, если есть такие строки в наборе записей SELECT TOP (10) PERCENT, то эти связанные записи будут возвращены оператором SELECT TOP. Это приведет к возврату более 10% от полного набора записей.
Как в SQL получить первые (или последние) строки запроса? TOP или OFFSET? | Info-Comp.ru
Всем привет, сегодня мы поговорим о том, как в Microsoft SQL Server на языке T-SQL можно оставить только определенное количество первых строк результирующего набора данных. При этом мы рассмотрим два способа реализации этой простой задачи. Также я покажу Вам, как можно вывести, наоборот, только последние строки SQL запроса.
В языке T-SQL существует две стандартные возможности, которые позволяют нам применить фильтр к результирующему набору данных, иными словами, оставить в результате только определённое количество строк. Это могут быть первые строки, с учётом сортировки, что достаточно часто требуется при работе с базами данных на SQL, или последние строки, а также существует возможность вывести любой набор строк, например, пропустить первые строки и вывести определённое количество следующих строк.
Как я уже отметил, существует два способа фильтрации результирующего набора данных, первый – это использование фильтра TOP, и второй – это использование конструкции OFFSET-FETCH, которую мы подробно рассмотрели в отдельном материале — «OFFSET-FETCH в T-SQL – описание и примеры использования».
Заметка! Профессиональный видеокурс по T-SQL для начинающих.
Получаем первые строки результата SQL запроса
Сейчас давайте я покажу, как можно вывести первые строки результирующего набора данных, сначала мы рассмотрим пример с использованием TOP, а затем сделаем то же самое только с помощью OFFSET-FETCH.
Но для начала давайте определимся с исходными данными, чтобы Вы понимали, какие данные у нас есть и что мы получаем в итоге.
Исходные данные для примеров
В качестве сервера у меня выступает Microsoft SQL Server 2016 Express. А теперь давайте представим, что у нас есть таблица TestTable и в ней содержатся следующие данные (перечень товаров с указанием цены).
--Создание таблицы CREATE TABLE TestTable( [ProductId] [INT] IDENTITY(1,1) NOT NULL, [ProductName] [VARCHAR](100) NOT NULL, [Price] [Money] NULL ) GO --Добавление строк в таблицу INSERT INTO TestTable(ProductName, Price) VALUES ('Системный блок', 300), ('Монитор', 200), ('Клавиатура', 100), ('Мышь', 50), ('Принтер', 200), ('Сканер', 150), ('Телефон', 250), ('Планшет', 300) GO --Выборка данных SELECT * FROM TestTable
Получаем первые строки запроса с помощью TOP
TOP – это инструкция T-SQL, с помощью которой можно ограничить число строк в результирующем наборе данных SQL запроса.
Синтаксис
TOP (Число строк) [PERCENT]
[ WITH TIES ]
У инструкции TOP несколько параметров:
- Число строк – сразу после ключевого слова TOP в скобочках мы указываем число, которое будет означать количество строк в итоговом результате. В инструкции SELECT допускается указание данного числа без скобочек, однако это не рекомендуется;
- PERCENT – параметр, который говорит, что в запросе необходимо оставить не фактическое количество строк, а процент строк от общего количества, т.е. число, указанное ранее, будет означать процент, а не количество;
- WITH TIES – параметр, который говорит, что в результирующий набор необходимо включить и записи с тем же значением, что и последняя строка, в случае наличия подобных записей. Например, если Вам нужно получить 5 самых дорогих товаров, при этом на пятом месте запись с ценой 100, а на шестом месте также цена 100, так вот, без параметра WITH TIES Вам вернётся 5 строк, а если данный параметр указать — вернется 6 строк.
Фильтр TOP обычно применяется с сортировкой данных (ORDER BY), однако это необязательно, можно применять данный фильтр и без сортировки данных, только в этом случае строки будут возвращаться в произвольном порядке (так, как они хранятся).
Пример SQL запроса с TOP – выводим первые 5 строк
Допустим, нам нужно получить 5 самых дорогих товаров, для этого пишем следующий запрос.
SELECT TOP (5) ProductId, ProductName, Price FROM TestTable ORDER BY Price DESC
В данном случае мы указали сортировку по уменьшению цены (ORDER BY Price DESC), а также применили фильтр TOP (5), для ограничения вывода строк результирующего набора.
Пример SQL запроса с TOP и параметром WITH TIES
Сейчас давайте запустим два запроса, в обоих случаях мы будем запрашивать 4 самых дорогих товара, т.е. применим фильтр TOP (4), однако во втором запросе дополнительно мы укажем параметр WITH TIES и посмотрим на разницу итогового результата.
--Без WITH TIES SELECT TOP (4) ProductId, ProductName, Price FROM TestTable ORDER BY Price DESC --С WITH TIES SELECT TOP (4) WITH TIES ProductId, ProductName, Price FROM TestTable ORDER BY Price DESC
В итоге мы очень хорошо видим разницу, в первом случае вывелось 4 строки, а во втором 5, так как товар в 5 строке имеет точно такую же цену, как и товар в 4 строке.
Пример SQL запроса с TOP и параметром PERCENT
В этом примере давайте просто выведем 50 процентов итогового набора записей, т.е. половину. Для этого мы используем параметр PERCENT.
SELECT TOP (50) PERCENT ProductId, ProductName, Price FROM TestTable ORDER BY Price DESC
Так как у нас в таблице TestTable всего 8 записей, нам вывелось 4 строки, т.е. как раз 50 процентов.
Получаем первые строки запроса с помощью OFFSET-FETCH
Вторым способом получения первых строк является использование конструкции OFFSET-FETCH, однако она появилась только в 2012 версии SQL сервер, до этого, соответственно, этот способ использовать не получится.
У конструкции OFFSET-FETCH отсутствуют такие параметры, как PERCENT и WITH TIES, которые есть у фильтра TOP, однако у OFFSET-FETCH есть одно очень важное преимущество – это возможность пропускать определенное количество первых строк.
Примечание! OFFSET-FETCH — это часть конструкции ORDER BY, поэтому без сортировки использовать OFFSET-FETCH не удастся. Также не получится одновременно использовать OFFSET-FETCH и TOP в одном запросе SELECT.
Пример SQL запроса с OFFSET-FETCH — выводим первые 5 строк
Чтобы вывести первые строки с помощью конструкции OFFSET-FETCH, нам нужно в секции OFFSET указать 0, т.е. начинать вывод сразу с первой строки (если указать другое число, то именно такое количество строк будет пропущено). В секции FETCH мы соответственно указываем 5.
SELECT ProductId, ProductName, Price FROM TestTable ORDER BY Price DESC OFFSET 0 ROWS FETCH NEXT 5 ROWS ONLY;
Результат, мы видим, точно такой же, как и в случае с TOP.
Как вывести последние строки SQL запроса?
Если Вам нужно получить не первые строки результирующего набора данных, а последние (например, последние записи в таблице), причем с той же самой сортировкой, то Вы также можете использовать два способа, т.е. и TOP, и OFFSET. В обоих случаях нам нужно будет немного усложнить запросы.
Получаем последние строки SQL запроса с помощью TOP
В случае с TOP нам дополнительно потребуется использовать конструкцию WITH (CTE – обобщенное табличное выражение), для того чтобы выполнить сортировку по идентификатору для применения фильтра TOP, т.е. отобрать самые последние записи. А после этого мы уже можем отсортировать строки так, как нам нужно.
WITH SRC AS ( --Получаем 5 последних строк в таблице SELECT TOP (5) ProductId, ProductName, Price FROM TestTable ORDER BY ProductId DESC ) SELECT * FROM SRC ORDER BY ProductId --Применяем нужную нам сортировку
Как видите, нам вывелись 5 последних строк.
Получаем последние строки SQL запроса с помощью OFFSET-FETCH
Для получения последних строк с помощью OFFSET-FETCH нам потребуется предварительно узнать общее количество строк, для того чтобы определить, сколько строк нужно пропустить. Это можно сделать как с помощью вложенного запроса, так и с помощью предварительного сохранения нужного нам значения в переменной. Я покажу способ с использованием переменной.
--Объявляем переменную DECLARE @CNT INT; --Узнаем количество строк в таблице SELECT @CNT = COUNT(*) FROM TestTable; --Получаем 5 последних строк SELECT ProductId, ProductName, Price FROM TestTable ORDER BY ProductId OFFSET @CNT - 5 ROWS FETCH NEXT 5 ROWS ONLY;
Итоговый результат такой же, как и в запросе с TOP.
Теперь Вы знаете, как с помощью TOP и OFFSET получать первые и последние строки результирующего набора данных, который возвращает SQL запрос.
В данной статье мы затронули одну очень маленькую возможность языка T-SQL, но их, как Вы понимаете, гораздо больше, поэтому, если Вы начинающий программист и хотите изучить язык T-SQL, то рекомендую посмотреть мои видеокурсы по T-SQL, с помощью которых Вы «с нуля» научитесь работать с SQL и программировать на T-SQL.
У меня на этом все, удачи в освоении языка T-SQL!
Нравится3Не нравится1
SQL оператор SELECT TOP — Oracle PL/SQL •MySQL •MariaDB •SQL Server •SQLite
В этом учебном материале вы узнаете, как использовать оператор SELECT TOP в SQL, с синтаксисом и примерами.
Описание
SQL оператор SELECT TOP используется для извлечения записей из одной или нескольких таблиц в базе данных и ограничения количества возвращаемых записей на основе фиксированного значения или процента.
Подсказка: SELECT TOP является частной версией Microsoft для ограничения ваших результатов и может использоваться в базах данных, таких как SQL Server и MSAccess.
Для других баз данных SQL попробуйте оператор SELECT LIMIT.
Синтаксис
Синтаксис для оператора SELECT TOP в SQL.
SELECT TOP (top_value) [ PERCENT ]
expressions
FROM tables
[WHERE conditions]
[ORDER BY expression [ ASC | DESC ]];
Параметры или аргумент
- TOP (top_value)
- Он вернет максимальное количество строк в наборе результатов на основе top_value. Например, TOP(10) вернет первые 10 строк из полного набора результатов
- PERCENT
- Необязательный. Если указано PERCENT, то верхние строки основаны на процентах от общего набора результатов (как указано в top_value). Например, TOP(10) PERCENT вернет верхние 10% полного набора результатов
- expressions
- Столбцы или расчеты, которые вы хотите получить
- tables
- Таблицы, из которых вы хотите получить записи. В предложении FROM должна быть указана хотя бы одна таблица
- WHERE conditions
- Необязательный. Условия, которые должны быть выполнены для записей, которые будут выбраны
- ORDER BY expression
- Необязательный. Он используется в операторе SELECT TOP, чтобы вы могли упорядочить результаты и выбрать те записи, которые вы хотите вернуть. ASC — возрастающий порядок, а DESC — убывающий
Пример — использование ключевого слова TOP
Давайте посмотрим на пример SQL, где мы используем ключевое слово TOP в операторе SELECT.
Например.
SELECT TOP(5)
contact_id,
last_name,
first_name
FROM contacts
WHERE last_name = ‘Kidman’
ORDER BY contact_id;
SELECT TOP(5) contact_id, last_name, first_name FROM contacts WHERE last_name = ‘Kidman’ ORDER BY contact_id; |
В этом SQL примере SELECT TOP будут выбраны первые 5 записей из таблицы contacts, где last_name равно ‘Kidman’. Если в таблице contacts есть другие записи с last_name ‘Kidman’, они не будут возвращены оператором SELECT.
Пример — использование ключевого слова TOP PERCENT
Давайте посмотрим на пример SQL, где мы используем ключевое слово TOP PERCENT в операторе SELECT.
Например.
SELECT TOP(10) PERCENT
contact_id,
last_name,
first_name
FROM contacts
WHERE last_name = ‘Kidman’
ORDER BY contact_id;
SELECT TOP(10) PERCENT contact_id, last_name, first_name FROM contacts WHERE last_name = ‘Kidman’ ORDER BY contact_id; |
Этот SQL пример SELECT TOP выбрал бы первые 10% записей из полного набора результатов. Таким образом, в этом примере оператор SELECT вернет первые 10% записей из таблицы contacts, где last_name равно ‘Kidman’. Остальные 90% набора результатов не будут возвращены оператором SELECT.
База Данных MySQL Top ограничение ROWNUM
Предложение SQL SELECT Top
Предложение SELECT Top используется для указания количества возвращаемых записей.
Предложение SELECT Top полезно для больших таблиц с тысячами записей. Возврат большого количества записей может повлиять на производительность.
Примечание: Не все системы баз данных поддерживают предложение SELECT Top. MySQL поддерживает предложение Limit, чтобы выбрать ограниченное количество записей, в то время как Oracle использует ROWNUM.
Синтаксис доступа к SQL Server/MS:
SELECT TOP number|percent column_name(s)
FROM table_name
WHERE condition;
MySQL Синтаксис:
SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;
Oracle Синтаксис:
SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number;
Демонстрационная база данных
Ниже приведен выбор из таблицы «Customers» в образце базы данных Northwind:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
Примеры верхнего, предельного и ROWNUM SQL
Следующая инструкция SQL выбирает первые три записи из таблицы «Customers»:
Пример
SELECT TOP 3 * FROM Customers;
Следующая инструкция SQL показывает эквивалентный пример с помощью предложения LIMIT:
Пример
SELECT * FROM Customers
LIMIT 3;
Следующая инструкция SQL показывает эквивалентный пример с помощью ROWNUM:
Пример
SELECT * FROM Customers
WHERE ROWNUM <= 3;
Пример верхнего процента SQL
Следующая инструкция SQL выбирает первые 50% записей из таблицы «Customers»:
Пример
SELECT TOP 50 PERCENT * FROM Customers;
Добавление предложения WHERE
Следующая инструкция SQL выбирает первые три записи из таблицы «Customers», где страна «Германия»:
Пример
SELECT TOP 3 * FROM Customers
WHERE Country=’Germany’;
Следующая инструкция SQL показывает эквивалентный пример с помощью предложения LIMIT:
Пример
SELECT * FROM Customers
WHERE Country=’Germany’
LIMIT 3;
Следующая инструкция SQL показывает эквивалентный пример с помощью ROWNUM:
Пример
SELECT * FROM Customers
WHERE Country=’Germany’ AND ROWNUM <= 3;
Условие SQL top и заменяющие его limit и rownum в MySQL и Oracle
От автора: условие SQL TOP используется для извлечения из таблицы записей до N строки или X процентов строк.
Примечание. Не все базы данных поддерживают условие TOP. Например, MySQL поддерживает условие LIMIT для извлечения ограниченного количества записей, в то время как Oracle использует для извлечения ограниченного количества записей команду ROWNUM.
Синтаксис
Основной синтаксис условия TOP с инструкцией SELECT следующий.
SELECT TOP число|процент названия_столбцов
FROM имя_таблицы
WHERE [условие]
SELECT TOP число|процент названия_столбцов FROM имя_таблицы WHERE [условие] |
Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Получить курс сейчас!
Пример
Рассмотрим таблицу CUSTOMERS, содержащую следующие записи:
В следующем примере приведен запрос к серверу SQL, который извлекает верхние 3 записи из таблицы CUSTOMERS.
SELECT TOP 3 * FROM CUSTOMERS;
SELECT TOP 3 * FROM CUSTOMERS; |
Этот код дает следующий результат:
Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Получить курс сейчас!
Если вы используете MySQL-сервер, то ниже приведен эквивалентный пример:
SELECT * FROM CUSTOMERS
LIMIT 3;
SELECT * FROM CUSTOMERS LIMIT 3; |
Этот код дает следующий результат:
Если вы используете сервер Oracle, то ниже приведен эквивалентный пример для него:
SELECT * FROM CUSTOMERS
WHERE ROWNUM <= 3;
SELECT * FROM CUSTOMERS WHERE ROWNUM <= 3; |
Этот код дает следующий результат:
Источник: https://www.tutorialspoint.com/
Редакция: Команда webformyself.
Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Получить курс сейчас!
Хотите изучить MySQL?
Посмотрите курс по базе данных MySQL!
Смотреть Сервер
sql — выберите верхний 1 * vs выберите верхний 1 1
Переполнение стека
- Около
Продукты
- Для команд
Переполнение стека
Общественные вопросы и ответыПереполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегамиВакансии
Программирование и связанные с ним технические возможности карьерного ростаТалант
Нанимайте технических специалистов и создавайте свой бренд работодателяРеклама
Обратитесь к разработчикам и технологам со всего мира- О компании
.
SQL Server SELECT TOP на практических примерах
Резюме : в этом руководстве вы узнаете, как использовать оператор SQL Server SELECT TOP
для ограничения строк, возвращаемых запросом.
Введение в SQL Server SELECT TOP
Предложение SELECT TOP
позволяет ограничить количество строк или процент строк, возвращаемых в наборе результатов запроса.
Поскольку порядок строк, хранящихся в таблице, не определен, оператор SELECT TOP
всегда используется вместе с предложением ORDER BY
.Следовательно, набор результатов ограничен первым числом упорядоченных строк N
.
Ниже показан синтаксис предложения TOP
с оператором SELECT
:
SELECT TOP (выражение) [PERCENT] [С ГАЛСТАМИ] ОТ table_name СОРТИРОВАТЬ ПО column_name;
В этом синтаксисе оператор SELECT
может иметь другие предложения, например WHERE
, JOIN
, HAVING
и GROUP BY
.
выражение
После ключевого слова TOP
следует выражение, определяющее количество возвращаемых строк. Выражение оценивается как значение с плавающей запятой, если используется PERCENT
, в противном случае оно преобразуется в значение BIGINT
.
PERCENT
Ключевое слово PERCENT
указывает, что запрос возвращает первые N
процентов строк, где N
является результатом выражения
.
WITH TIES
WITH TIES
позволяет вам возвращать больше строк со значениями, соответствующими последней строке в ограниченном наборе результатов. Обратите внимание, что WITH TIES
может привести к возврату большего количества строк, чем указано в выражении.
Например, если вы хотите вернуть самые дорогие товары, вы можете использовать TOP 1
. Однако если два или более продукта имеют те же цены, что и самый дорогой продукт, вы пропустите другие самые дорогие продукты в результирующем наборе.
Чтобы избежать этого, вы можете использовать TOP 1 WITH TIES
. В него войдет не только первый дорогой товар, но и второй и так далее.
SQL Server SELECT TOP
примеры
Мы будем использовать таблицу production.products
в примере базы данных для демонстрации.
1) Использование TOP
с постоянным значением
В следующем примере постоянное значение используется для возврата 10 самых дорогих продуктов.
ВЫБРАТЬ ТОП 10 наименование товара, список цен ОТ производство.продукты СОРТИРОВАТЬ ПО list_price DESC;
Вот результат:
2) Использование TOP
для возврата процентного значения строк
В следующем примере PERCENT
используется для указания количества продуктов, возвращаемых в наборе результатов. Таблица production.products
содержит 321
строк, поэтому один процент от 321
является дробным значением ( 3,21
), SQL Server округляет его до следующего целого числа, которое составляет четыре ( 4
) в этот случай.
ВЫБРАТЬ ВЕРХНИЙ 1 ПРОЦЕНТ наименование товара, список цен ОТ production.products СОРТИРОВАТЬ ПО list_price DESC;
Результат:
3) Использование TOP WITH TIES
для включения строк, которые соответствуют значениям в последней строке
Следующая инструкция возвращает три самых дорогих продукта:
SELECT TOP 3 WITH Галстуки наименование товара, список цен ОТ production.products СОРТИРОВАТЬ ПО list_price DESC;
Результат выглядит следующим образом:
В этом примере третий дорогой продукт имеет прейскурантную цену 6499.99
. Поскольку в заявлении использовалось TOP WITH TIES
, было возвращено еще три продукта, прейскурантные цены которых совпадают с ценами третьего.
В этом руководстве вы узнали, как использовать оператор SQL Server SELECT TOP
для ограничения количества строк или процента строк, возвращаемых запросом.
.
SQL Server SELECT @VARIABLE = TOP 1
Переполнение стека
- Около
Продукты
- Для команд
Переполнение стека
Общественные вопросы и ответыПереполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегамиВакансии
Программирование и связанные с ним технические возможности карьерного ростаТалант
Нанимайте технических специалистов и создавайте свой бренд работодателяРеклама
Обратитесь к разработчикам и технологам со всего мира- О компании
.
sql — Избегайте «ВЫБРАТЬ ТОП 1» и «ЗАКАЗАТЬ» в запросах
Переполнение стека
- Около
Продукты
- Для команд
Переполнение стека
Общественные вопросы и ответыПереполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегамиВакансии
Программирование и связанные с ним технические возможности карьерного ростаТалант
Нанимайте технических специалистов и создавайте свой бренд работодателяРеклама
Обратитесь к разработчикам и технологам со всего мира- О компании
Загрузка…
.