Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Неужели SQL server так глуп при ORDER надо ползовать  [new]
Virus_RT
Guest
в комбинацъй със TOP

Например :)
SELECT TOP 100% * FROM Table Order By Name

po`emu nado izpolzwatx top
7 июл 04, 15:43    [790950]     Ответить | Цитировать Сообщить модератору
 Re: Неужели SQL server так глуп при ORDER надо ползовать  [new]
tygra
Member

Откуда: Тверь (Иркутск, Край)
Сообщений: 9997
Ну не используй. :)

Может еще сможешь получше объяснить, чего табе нада :), тогда вообще хорошо будет

-- Tygra's --
7 июл 04, 15:45    [790960]     Ответить | Цитировать Сообщить модератору
 Re: Неужели SQL server так глуп при ORDER надо ползовать  [new]
Crimean
Member

Откуда:
Сообщений: 13148
А ты попробуй без TOP
Будешь сильно удивлен
Ну и не 100% a 100 percent если на то пошло :)
7 июл 04, 16:16    [791093]     Ответить | Цитировать Сообщить модератору
 Re: Неужели SQL server так глуп при ORDER надо ползовать  [new]
mdsstv
Guest
To VIRUS_RT.

RTFM уважаемый.

По стандарту SQL сначала выполнается выборка,
а только потом сортировка НАД УЖЕ СФОРМИРОВАННОЙ ВЫБОРКОЙ !!!

Если тебе необходимо отсортировать и отобрать первые N записей,
то делай так (использовануй подзапрос):

select top 100 T1.* from (select * from Table order by Field1) T1

Т.е. у тебя будет СНАЧАЛА СФОРМИРОВАН ОТСОРТИРОВАННЫЙ НАБОР ДАННЫХ,
а же ЗАТЕМ ПРОИЗВЕДЕН ОТБОР ПЕРВЫХ 100 ЗАПИСЕЙ.

Про производтельность скромно УМАЛЧИМ.

Если не устраивает разработай свой метод, в зависимости от задачи.
7 июл 04, 16:24    [791130]     Ответить | Цитировать Сообщить модератору
 Re: Неужели SQL server так глуп при ORDER надо ползовать  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34630
mdsstv
To VIRUS_RT.
По стандарту SQL сначала выполнается выборка,
а только потом сортировка НАД УЖЕ СФОРМИРОВАННОЙ ВЫБОРКОЙ !!!


Это где ты такое в стандарте прочитал ?
7 июл 04, 16:25    [791138]     Ответить | Цитировать Сообщить модератору
 Re: Неужели SQL server так глуп при ORDER надо ползовать  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
если ето инлайн вью,то без TOP ORDER BY не работает
7 июл 04, 16:44    [791218]     Ответить | Цитировать Сообщить модератору
 Re: Неужели SQL server так глуп при ORDER надо ползовать  [new]
mdsstv
Guest
MasterZiv
mdsstv
To VIRUS_RT.
По стандарту SQL сначала выполнается выборка,
а только потом сортировка НАД УЖЕ СФОРМИРОВАННОЙ ВЫБОРКОЙ !!!


Это где ты такое в стандарте прочитал ?


To MasterZiv.

А прочитал я енто здесь:

1. Курс "Programming a Microsoft SQL Server 2000 Database" workbook (номер курса: 2073А)

2. Курс "Oracle 9i: Program with PL/SQL".

Там черным по белому написано имеено так как я и написал выше.

Если не веришь, попровуй сам, а не задавай глупых вопросов.

To Maxx.

В MSSQL нет понятия "inline view", согласен в Orcle есть, но раздел посвящен MSSQL, а в нем есть аналогичное нонятие inline finction (параметризованный view)

Например:

create function dbo.fn_Test
(
@ParamA int,
@ParamP varchar(10)
)
returns table
as
return(select Field1, Field2 from Table1 where Field1 = @ParamA and Field2 = @ParamB)
go

А далее так
select * from dbo.fn_Test(1, 'test') order by 1 asc, 2 desc

И енто будет работать.

И конструкция приведенная мной тоже будет работать :)
8 июл 04, 13:13    [793336]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить