Re: ORDER BY
От | Alexander Staubo |
---|---|
Тема | Re: ORDER BY |
Дата | |
Msg-id | DFDFB8FE-1787-4508-97C4-5FD12357936A@purefiction.net обсуждение исходный текст |
Ответ на | ORDER BY ("MicroUser" <a.shafar@gmail.com>) |
Ответы |
Re: ORDER BY
|
Список | pgsql-general |
On Nov 14, 2006, at 23:03 , MicroUser wrote: > I need sorted result but the way like this: > > 0 | Anna > 3 | Fernando > 2 | Link > 1 | Other > > Record '1 | Other' must by at the end of query result. It's not apparent from your example that you want something other than a purely lexicographic sort order (after all, "Other" comes after "Link", "Fernando" and "Anna", so "order by name" already gets you what you want), but I assume that's what you mean. If your table is sufficiently small, and the complexity of the actual query sufficiently low, prepending an expression sort key might suffice: select * from foo order by (case name when 'Other' then 1 else 0 end), name Note that PostgreSQL is slow at evaluating case expressions, and this might prove too slow. For larger tables, you may have to resort to a union: select * from foo where name != 'Other' order by name union select * from foo where name = 'Other' Alexander.
В списке pgsql-general по дате отправления: