webForumDet fria alternativet
Logga in / Bli medlem

ORDER SELECT??

Databaser & SQL

5 svar · 411 visningar · startad av Nöff

Medlem sedan nov. 2003569 inlägg
Trådstart#1

Hej.

ID, projektID, index, namn
1 , 9 , 0 , 'bbb'
2 , 9 , 1 , 'dfdf'
3 , 9 , 2 , 'dfdf'
4 , 9 , 3 , 'dsfdf'
5 , 9 , 4 , 'dsfdf'

SELECT .... WHERE index IN (2,3,4)

Kommer denna SELECT alltid returnera rader i exakt ordning 2,3,4 ? , så att resultatet blir såhär:

ID, projektID, index, namn
3 , 9 , 2 , 'dfdf'
4 , 9 , 3 , 'dsfdf'
5 , 9 , 4 , 'dsfdf'

Medlem sedan juni 200032 967 inlägg
#2

IN har ingenting med posternas ordning att göra, utan begränsar bara urvalet.

http://www.webforum.nu/showthread.php?s=&forumid=53&threadid=116686

Medlem sedan nov. 2003569 inlägg
#3

OK, men hur gör man då för att selectera bara poster som står i en speciell ordning?

Medlem sedan dec. 200012 464 inlägg
#4

Vad menar du? Posterna i en tabell har ingen ordning.

Medlem sedan nov. 2003569 inlägg
#5

jo, mina har det :) , och jag vill bara selectera poster som har samma projektID och står i en speciell ordning, där "index" följer denna ordning: 2,3,4

Medlem sedan dec. 200012 464 inlägg
#6

Posterna i en tabell har ingen ordning. I vilken ordning man gör insert på poster har ingen betydelse för hur dom lagras eller i vilken ordning dom returneras. Det är bara om du har order by som du garanteras att posterna returneras i den ordningen.

Om du gör en select utan order by på samma datamängd vid olika tillfällen så finns det ingen garanti att dom returnas i samma ordning vid dessa tillfällen.

Om du vill kunna ordna saker efter insertordning så måste du själv avspegla den ordningen i någon kolumn.

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