rusqhyazeubebgcahrcsdanlenetfifrglkadeelhuisgaitkkkylvltmknoplptrosrskslessvtrukuz

Выбор уникальных значений (DISTINCT)

Больше
3 мес. 2 нед. назад - 3 мес. 2 нед. назад #177 от О.Коровяков
О.Коровяков создал тему: Выбор уникальных значений (DISTINCT)
Для выбора уникальных значений определенных колонок, совместно с инструкцией SELECT нужно использовать команду DISTINCT. Данные пример демонстрирует различные варианты использования DISTINCT в SQL Server.
-- таблица для демонстрации работы примера
DECLARE @t AS TABLE (id int identity primary key, first_name nvarchar(50), last_name nvarchar(50), age int);
 
-- заполняем таблицу данными
INSERT INTO @t
SELECT 'Василий', 'Пупкин', 18;
INSERT INTO @t
SELECT 'Василий', 'Абрамов', 22;
INSERT INTO @t
SELECT 'Василий', 'Иванов', 18;
INSERT INTO @t
SELECT 'Маша', 'Пупкина', 17;
INSERT INTO @t
SELECT 'Маша', 'Швалева', 17;
INSERT INTO @t
SELECT 'Маша', 'Мишкина', 98;
INSERT INTO @t
SELECT 'Федя', 'Петров', 10;
INSERT INTO @t
SELECT 'Федя', 'Кбайтов', 27;
INSERT INTO @t
SELECT 'Федя', 'Митрофанофф', 27;
 
-- собственно сам пример
 
-- выбираем все данные
SELECT * FROM @t;
 
-- выбираем только уникальные имена
SELECT DISTINCT(first_name) FROM @t;
 
-- выбираем только уникальные имена и возраст
SELECT DISTINCT first_name, age FROM @t;
 
-- выбираем только уникальные имена и возраст
-- сортируем результат по возрасту
SELECT DISTINCT first_name, age FROM @t ORDER BY age DESC;
 
-- считаем, количество уникальных имен
SELECT COUNT(DISTINCT(first_name)) FROM @t;
 
-- а вот этот пример работать не будет, т.к. last_name не используется в DISTINCT
SELECT DISTINCT first_name, age FROM @t ORDER BY last_name DESC;
Последнее редактирование: 3 мес. 2 нед. назад пользователем О.Коровяков.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подпишитесь на наши новости...

Если вам интересны материалы опубликованных на Нашем сайте, Вы можете подписаться на рассылку информационных бюллетеней о новых публикациях ... Просто введите адрес электронной почты на какую Вы хотите получать Новости и нажмите кнопку "Подписаться"

Контакт Инфо

Ok-Wood.
08304 ул.Салютная,c.Гнедын,
Киевская обл, Украина
  • Тел: +39 067 492 41 24
    Tel: +38 095 095 88 60
  • Email: info@ok-wood.com.ua
  • Web: ok-wood.com.ua

Весь процесс строительства описан на страницах сайта, но более подробно о технологии, методах строительства, и всех деталях - Вы можете узнать в книге.