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

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

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

Выборка данных случайным образом

Автор: Narayana Vyas Kondreddi | добавлено: 04.02.2011, 20:15 | просмотров: 1906 (1+) | комментариев: 0 | рейтинг: *x4
Пример показывает, как при помощи T-SQL выбрать данные случайным образом. Информация актуальна для SQL Server 7.0 и SQL Server 2000, в SQL Server 2005 и 2008 для этого можно использовать инструкцию ORDER BY NEWID().

Код

CREATE TABLE users
(
uid int,
uname varchar(30)
)
GO

--вставляем 15 строк данных, просто для примера
SET NOCOUNT ON
INSERT [users] ([uid],[uname])VALUES(1,'Vyas Kondreddi')
INSERT [users] ([uid],[uname])VALUES(2,'Narayana Kondreddi')
INSERT [users] ([uid],[uname])VALUES(3,'Kondreddi')
INSERT [users] ([uid],[uname])VALUES(4,'Narayana Vyas Kondreddi')
INSERT [users] ([uid],[uname])VALUES(5,'Subhadra Jyothsna')
INSERT [users] ([uid],[uname])VALUES(6,'Geetha Madhuri Vungarala')
INSERT [users] ([uid],[uname])VALUES(7,'Sridhar Vungarala')
INSERT [users] ([uid],[uname])VALUES(8,'Vamsee Mohan')
INSERT [users] ([uid],[uname])VALUES(9,'Gopala Krishna Kondreddi')
INSERT [users] ([uid],[uname])VALUES(10,'Nagaja Devi Kondreddi')
INSERT [users] ([uid],[uname])VALUES(11,'Vijaya Madhuri Govindaraju')
INSERT [users] ([uid],[uname])VALUES(12,'Pamarthy Pradeep Kumar')
INSERT [users] ([uid],[uname])VALUES(13,'Pamarthy Harinath')
INSERT [users] ([uid],[uname])VALUES(14,'Vungarala Sathyanarayana')
INSERT [users] ([uid],[uname])VALUES(15,'Pamarthy Ramakrishna')
SET NOCOUNT OFF
GO

--выборка случайно строки
DECLARE @mx int, @mn int
SELECT @mx = MAX(uid) FROM users
SELECT @mn = MIN(uid) FROM users
SELECT uid,uname [Счасливчик] FROM users WHERE uid = ROUND(@mn + (RAND() * (@mx-@mn)),0)

Как это работает?

Пример актуален для старых версий SQL Server, в версиях 2005, 2008 и более новых, можно использовать инструкцию ORDER BY NEWID(). Например:

SELECT TOP 1 uid,uname FROM @users ORDER BY NEWID()
Об авторе

Narayana Vyas Kondreddi

Нет информации об авторе...
Narayana Vyas Kondreddi
Последние комментарии (всего: 0)

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


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

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