powered by simpleCommunicator - 2.0.47     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / LIMIT в MSSQL70
3 сообщений из 3, страница 1 из 1
LIMIT в MSSQL70
    #32011729
Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Люди подскажите плз!
Как сделать в MS SQL70 чтобы при выводе результатов запроса можно было указать позицию и количество выводимых строк.
В mySQL это делается при помощи примочки к SELECTу LIMIT, а как в MSSQL?

Заранее благодарен!
...
Рейтинг: 0 / 0
LIMIT в MSSQL70
    #32012714
bagur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
select count(*) from ....
...
Рейтинг: 0 / 0
LIMIT в MSSQL70
    #32012733
Виталий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Раньше тоже писал для MySql на Perl, перешел на ASP под MSSQL, столкнулся с теми же проблемами.
Выходов вижу три
Первый - ограничить выборку по отдельному полю-счетчику

select * from yourtable
where counter between 11 and 20
order by counter

Выводит с 11-ой, по 20-ую записи.

Второй вариант - выводить, скажем начальные записи

select top 10 * from yourtable
order by yourfield

Выводит первые 10 записей, сортированные по нужному тебе полю.

Третий вариант - использование ADO и ASP, позволяет добиться тех же результатов, что и LIMIT в MySql



'переменная, где хранится номер страницы
Pg = 1
'переменная, где хранится число записей на странице
iKolvo = 10

Set MyConnection = server.CreateObject("ADODB.Connection")
Set rsPage = Server.CreateObject("ADODB.Recordset")
MyConnection.Open "DRIVER={SQL Server}; SERVER=YOUR_SERVER_NAME; UID=USER_UD; PWD=USER_PASSW; DATABASE=DATABASE_NAME;"

strSqlselect = " select text from your_table "

'Установим cursor type в adOpenStatic
rsPage.CursorType = 3 'adOpenStatic

'Кол-во записей на странице будет iKolvo
rsPage.PageSize = iKolvo

'Открываем recordset
rsPage.Open strSqlselect, MyConnection

If not rsPage.eof Then
Response.Write ("<TABLE> ")
'Устанавливаем текущую страницу
rsPage.AbsolutePage = cInt(Pg)
'обнуляем счетчик записей
RowCount = 0
Do while not rsPage.eof and RowCount < rsPage.PageSize
strText = rsPage.Fields("text")
response.write("<TR><TD>")
response.write(strText)
response.write("</TD></TR>")
response.write(vbCrLf)
rsPage.Movenext
RowCount = RowCount + 1
Loop
Response.Write ("<TR><TD>")
'Делаем ссылки на другие страницы
For PageCounter = 1 to rsPage.PageCount
If Int(PageCounter)=Int(Pg) Then
Response.Write( PageCounter& " ")
Else
Response.Write("<A HREF=""default.asp?pg=" &PageCounter& " "">" &PageCounter& "</A> ")
End If
Next
Response.Write ("</TD></TR>")
Response.Write ("</TABLE>")

End If
rsPage.Close
set rsPage = Nothing
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / LIMIT в MSSQL70
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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