webForumDet fria alternativet
Logga in / Bli medlem

Paging med MSSQL i forum

Databaser & SQL

4 svar · 247 visningar · startad av addeweb

Medlem sedan jan. 2004216 inlägg
Trådstart#1

Jag håller på att göra iordning ett forum och tänker använda paging till det. Eftersom jag använder MSSQL
måste Jag istället använda frågan "SELECT TOP...." istället för LIMIT som finns hos MySQL.
Hur ska jag göra med variablerna $row_start och $row_max som finns i LIMIT-frågan så att de passar i TOP-frågan?
Det enda jag kan komma på är att ha $row_max i TOP-frågan. Det går inte att ha startvärdet med i samma fråga.
Hur löser jag det?

Med MySQL:
$query = mysql_query("SELECT * FROM forum WHERE ref_id = 0 ORDER BY datum DESC LIMIT ".$row_start.", ".$row_max."");

Med MSSQL:
$query2 = "SELECT TOP $row_max * FROM forum WHERE ref_id = 0 ORDER BY datum DESC";

Jag har också sett i SQL-forumet att det finns en SELECT-fråga
som har en subselect:

SELECT TOP 10 * FROM table where ID NOT IN (SELECT TOP 10 pk FROM table ORDER BY pk)

Vet inte om det går går att använda en sådan fråga eftersom övrig kod använder startvärde och maxvärde.

Medlem sedan jan. 2004216 inlägg
#2

Jag vet att paging-frågan är lite uttjatad vid det här laget men ändå vill jag ha svar på mina frågor. Jag har också kollat närmare om paging här i forumet men svaren som finns var inte mycket till hjälp.

Medlem sedan juni 20003 076 inlägg
#3

kolla här:
http://www.aspfaq.com/show.asp?id=2120

jag använder själv varianten som heter row count, funkar klockrent (med lite modifikation)! :)

Medlem sedan jan. 2004216 inlägg
#4

Har kollat men jag är inte fena på ASP ännu. Får kolla row count på andra ställen också.

Medlem sedan jan. 2004216 inlägg
#5

Har sett här någontans ang select-frågan SELECT TOP 10 * FROM table where ID NOT IN (SELECT TOP 10 pk FROM table ORDER BY pk) att maxvärdet kan läggas i SELECT-frågan medan startvärdet läggs in i subselect-frågan. Ska nog pröva det.

290 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
158 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
156 ms — ändringar (db)