Search Postgresql Archives

Re: ORDER BY

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux