Tjena! LIMIT finns inte i syntaxen för Transact-SQL. Du kan mycket riktigt inte välja ut annat än de första TOP antal rader (eller procent) när du använder MSSQL. Jag brukar göra en utsökning och sedan bläddra igenom resultatet sidvis på klientsidan, men det kan ju bli ett stort resultatset, så jag ser att mySQL verkar ha en fördel här när man vill hämta dataposter sidvis. Det verkar ju lite dumt om det inte finns en SKIP ROW funktion eller liknande i msSQL. Jo, men det löser fortfarande inte mitt problem utan kringår det bara :( Det finns ingen lösning på ditt problem i mssql! Du kan bara kringgå problemet i mssql! Oki, har gjort det nu. Bör inte det här fungera?:TOP vs LIMIT - mssql strul
Har lite problem som van mySQL användare nu när vissa kunder väljer msSQL istället
Tidigare vid urvalsfrågor har jag använt mig av LIMIT i sql strängen för att välja bort vissa rows.
Exempelvis
"SELECT id FROM tabell LIMIT 20,10"
Ovanstående exempel funkar på mySQL och skulle välja ut tio stycken rows men hoppa över de första tjugo.
För att göra samma sak i msSQL så vete fasen hur jag ska göra. Har inte hittat något i de böcker jag äger och sökt igenom nätet rätt mycket nu.
Rimligtvis borde det ju bygga på TOP men exempelvis "SELECT TOP 20,10 id FROM tabell" funkar inte :(
Hilfe!Sv: TOP vs LIMIT - mssql strul
Du kan dock komma runt problemet om du sorterar på något begrepp. Då tar du första gången TOP n för första sidan. Därefter gör du likadant, men anger sista postens sorteringsnyckels värde som villkor, varvid du får nästa sida. Du kan däremot inte starta på rad 20 direkt med denna metod.
xValue = 0
loopa:
SELECT * from ... WHERE x > xValue
xValue = x
<visa data>
nextSv: TOP vs LIMIT - mssql strul
I så fall får man ju välja en liknande funktion som du (hobbe) skrivit. Även om jag skulle välja en lite annorlunda lösning för att inte låsa mig till att välja ut efter en column. Ex.
SELECT id,bla,blaa FROM tabel
for i = 0 to 19
rs.movenext (stega i recordsettet)
next
Tada, och så står vi på den tjugonde raden i databasen.
Denna lösning känns dock extremt dum och kräver onödigt mycket resurser.
Fortfarande hilfe!Sv: TOP vs LIMIT - mssql strul
Sv: TOP vs LIMIT - mssql strul
Sv: TOP vs LIMIT - mssql strul
Har även kontaktat microsoft sverige och informerat dem om denna enorma brist.
Tack för hjälpen!Sv: TOP vs LIMIT - mssql strul
<code>
SELECT TOP 10 FROM (SELECT TOP 30 FROM Tabell ORDER BY ID DESC) ORDER BY ID
</code>