|
|
su.dbms.sql- SU.DBMS.SQL ------------------------------------------------------------------ From : …ўЈҐЁ© ’ а«®ўбЄЁ© 2:5020/400 05 Feb 2001 19:26:48 To : All Subject : Re: <none> -------------------------------------------------------------------------------- "Ruslan Bikmetov /Tr" <Ruslan.Bikmetov./Tr@p22.f34.n5056.z2.fidonet.org> сообщил/сообщила в новостях следующее: news:980692864@p22.f34.n5056.z2.ftn... > Пpивет, Valeri! > > Четвеpг Hоябpь 20 2036 02:11, Valeri Streltsov wrote to All: > > VS> Как из таблицы выбрать случайную запись, удовлетворяющую определенным > VS> условиям? > > Hа sql никак. Програмно ID генерить Hеправда, есть вариант! Hа MSSQL есть замечательная функция NEWID, возвращающая каждый раз т.н. ROWGUID - 16 байтовое выражение. Так вот , этот GUID генерится на основании даты, времени, адреса сетевой карты и случайного числа. Проходит такой запрос: select top 1 * from table order by newid() Сейчас в QA понажимал F5 несколько раз, записи каждый раз разные и случайные. Правда план запроса отвратителен - сканируется таблица, потом вычисляется выражение, потом SORT, потом TOP. ЗЫ С функцией RND такого прикола не проходит, она почему-то в пределах одной выборки гонит одно и то же число. --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /su.dbms.sql/65777ebf7f9f.html, оценка из 5, голосов 10
|