|
LIMIT в MSSQL70
|
|||
---|---|---|---|
#18+
Люди подскажите плз! Как сделать в MS SQL70 чтобы при выводе результатов запроса можно было указать позицию и количество выводимых строк. В mySQL это делается при помощи примочки к SELECTу LIMIT, а как в MSSQL? Заранее благодарен! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2001, 10:12 |
|
LIMIT в MSSQL70
|
|||
---|---|---|---|
#18+
select count(*) from .... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2001, 18:06 |
|
LIMIT в MSSQL70
|
|||
---|---|---|---|
#18+
Раньше тоже писал для 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 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2001, 05:11 |
|
|
start [/forum/topic.php?fid=23&msg=32012733&tid=1480746]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
23ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 233ms |
total: | 350ms |
0 / 0 |