Мой Kbyte.Ru
Рассылка Kbyte.Ru
Группы на Kbyte.Ru
Партнеры Kbyte.Ru
Реклама
Сделано руками
Сделано руками
> Исходные коды - Алексей Немиро -

Microsoft SQL Server - Общие вопросы

Все примеры / Общие вопросы

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

Автор: Алексей Немиро | добавлено: 07.02.2011, 21:24 | просмотров: 14673 (3+) | комментариев: 0 | рейтинг: *x6
Для выбора уникальных значений определенных колонок, совместно с инструкцией 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;
-- если возникнут вопросы, пишите на форум http://kbyte.ru/ru/Forums
Об авторе

Алексей Немиро

Интернет-деятель. Автор многочисленных статей и переводов статей по программированию и информационным технологиям. Работы Алексея можно найти в популярных печатных изданиях компьютерной тематики. Автор проекта Kbyte.Ru.
Сейчас Алексей занимается профессиональным Web-программированием на базе технологий .NET Framework. Иногда пишет различные программки и компоненты для Windows и Android. В свободное время занимается Web-дизайном, увлекается фото- и видеосъемкой.

См. также:
Профиль автора
Алексей Немиро
Последние комментарии (всего: 0)

Добавлять комментарии могут только зарегистрированные пользователи сайта.
Если у Вас уже есть учетная запись на Kbyte.Ru, пройдите процедуру авторизации OpenID.
Если Вы еще не зарегистрированы на Kbyte.Ru - зарегистрируйтесь.


Нет комментариев...

Авторизация
 
OpenID
Зарегистрируйся и получи 10% скидку на добавление своего сайта в каталоги! Подробнее »
Поиск по сайту
Реклама
Счетчики