Hur formulerar jag en SQL-sats som sorterar efter en kolumns värden på vilka jag utför en aritmetisk operation? Ex:
SELECT * FROM mytable ORDER BY (value mod 3)
------------------
http://www.tavlingar.se
4 svar · 161 visningar · startad av kristoffer
Hur formulerar jag en SQL-sats som sorterar efter en kolumns värden på vilka jag utför en aritmetisk operation? Ex:
SELECT * FROM mytable ORDER BY (value mod 3)
------------------
http://www.tavlingar.se
De flesta DBMS tillåter att du skriver ett uttryck vid order by. Jag tror nog att problemet är att man inte skriver mod på det sättet i den dbms du använder.
SELECT * FROM mytable ORDER BY mod(value,3)
Det finns ingen mod-funktion i SQL92 så det kan skilja sig hur den skrivs. Den är tillagd i SQL99 med den syntax som jag skrev.
Value är inget bra kolumnnamn, det är reserverat i SQL-standarden.
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 16 aug 2001]
Ok. Tack för det snabba svaret. Jag har inte tillgång till query analyzern hemma så jag kunde inte testa. Value var bara ett fantasinamn taget som exempel, moduloberäkningen var också bara ett exempel.
------------------
http://www.tavlingar.se
Kanske göra en computed columm och köra en order by på den?
alter table tblTable add compCol As ([value] Mod 3)
...eller nått.
/M.
------------------
To understand recursion, we must first understand recursion.
?
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 16 aug 2001]