Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Запросик лимит на выборку. .... ??? / 8 сообщений из 8, страница 1 из 1
19.09.2002, 15:19:06
    #32051701
Jcomp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросик лимит на выборку. .... ???
Вот требуеться выбрать 10 полей начиная с 50 ... в mySql так SELECT * FROM TABLE LIMIT 10,20.
Можно ли в MS SQL что то подобное ???
...
Рейтинг: 0 / 0
19.09.2002, 15:28:15
    #32051706
vadim_march
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросик лимит на выборку. .... ???
Если нужны СТРОКИ №50 ... №59 по какому-нибудь id, то так
Код: plaintext
1.
2.
3.
4.
select top  10  *
from (select top  60  *
      from sl
      order by sl_id)as s
order by sl_id desc
...
Рейтинг: 0 / 0
19.09.2002, 15:29:48
    #32051707
vadim_march
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросик лимит на выборку. .... ???
извиняюсь, вместо TOP 60 - TOP 60
...
Рейтинг: 0 / 0
19.09.2002, 15:30:39
    #32051708
vadim_march
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросик лимит на выборку. .... ???
TOP 59
...
Рейтинг: 0 / 0
19.09.2002, 15:39:53
    #32051712
Jcomp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросик лимит на выборку. .... ???
Да ... не совсем ефективно ... особенно если мне надо выбрать 10 записей начиная с 30000 .... гым .. но это я так понял единственный выход ??
...
Рейтинг: 0 / 0
19.09.2002, 16:21:51
    #32051732
Jcomp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросик лимит на выборку. .... ???
Ну вот всплыла проблема есть процедура:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CREATE PROCEDURE selectSongsByDate @Day int, @Month int, @Year int, @fromP int
 AS

SELECT TOP  20  * from (

SELECT TOP @fromP  HitParad.id,HitParad.Composition, Sum(vote_HitParad.Points) AS [Sum-Points], HitParad.Performer, HitParad.current_date_now, Day(current_date_now) AS Date, 
    MONTH(current_date_now) AS Month, YEAR(current_date_now) 
    AS Year
FROM HitParad INNER JOIN vote_HitParad ON HitParad.id = vote_HitParad.id_song AND (Day(vote_HitParad.[Date])<=@Day ) AND (Month(vote_HitParad.[Date])<=@Month ) AND (Year(vote_HitParad.[Date])<=@Year )
GROUP BY HitParad.id,HitParad.Composition, HitParad.Performer,  HitParad.current_date_now
 order by [Sum-Points] desc ) as S

Вот на SELECT TOP @fromP ... оно и ругаеться что не так ???
...
Рейтинг: 0 / 0
19.09.2002, 18:51:31
    #32051776
vadim_march
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросик лимит на выборку. .... ???
Как-то так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
declare @fromP int
set @fromP =  59 
 -----------------
 
declare @end_id int, @counter int
declare cur cursor local
for select sl_id from sl order by sl_id
open cur
fetch next from cur into @end_id
set @counter =  1 
while (@@FETCH_STATUS =  0 )and @counter < @fromP begin
  set @counter = @counter +  1 
  fetch next from cur into @end_id
end
close cur
deallocate cur
 --select @end_id
 
 -----------------------
 
select top  10  *
from (select *
      from sl
      where sl_id < @end_id)as s
order by sl_id desc
...
Рейтинг: 0 / 0
19.09.2002, 19:11:20
    #32051781
vadim_march
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросик лимит на выборку. .... ???
Или так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
declare @fromP int
set @fromP =  59 
 ------------------
 
declare @toP int
set @toP = @fromP -  10 
declare @end_id int, @beg_id int, @counter int
declare cur cursor local scroll
for select sl_id from sl order by sl_id
open cur
fetch absolute @fromP from cur into @end_id
fetch absolute @toP from cur into @beg_id
close cur
deallocate cur
select @end_id
select @beg_id
 -----------------------
 
select *
from sl
where sl_id <= @end_id
      and sl_id > @beg_id
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Запросик лимит на выборку. .... ??? / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]