select id from mytable where id=45 order by name,name2;

Why do you want to select id if you already know it ? Do you not want to specify a starting value for name and name2 ?

I'll presume you want to select a row by its 'id' and then get the previous and next ones in the name, name2 order. I'll guess the id is UNIQUE so these two other rows won't have the same id.

If I guessed right I have the solution, if I'm not please explain what you wanna do more precisely ;)


and then I'd like to select the two entries that would come before and after according to the order "name,name2";
id is not ordered, but there is an index on (name,name2) so the needed infomation about previous, next should be stored somewhere in this index.


My current solution is to read all the data without the WHERE-clause and then fetch the needed ones, which is quite time-demanding.

thnx,
peter






---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match

Reply via email to