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
5 svar · 411 visningar · startad av Nöff
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'
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
OK, men hur gör man då för att selectera bara poster som står i en speciell ordning?
Vad menar du? Posterna i en tabell har ingen ordning.
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
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.