On Thu, 2021-03-18 at 23:51 +0100, basti wrote: > Am 18.03.21 um 17:19 schrieb Laurenz Albe: > > On Thu, 2021-03-18 at 15:39 +0100, basti wrote: > > > I need to as follow: > > > > > > ande > > > Amma > > > Anit > > > Anti > > > Brac > > > Cali > > > .... > > > > Create an ICU collation: > > > > CREATE COLLATION inv (PROVIDER = icu, LOCALE = "en-US@CaseFirst=LowerFirst"); > > I have try the inv collate, that does not work on PG 9.6 and 10. > > Order is the same as without collate. > > SELECT a.name > FROM foo as a > LEFT JOIN (SELECT name from foo WHERE name = 'lowercase name') as b > on a.name = b.name > ORDER by b.name,a.name > > does it. > > perhaps there is a better way? Ah, I misunderstood what you want. SELECT a.name FROM foo as a ORDER BY a.name <> lower(a.name), a.name; That works because FALSE < TRUE. Yours, Laurenz Albe -- Cybertec | https://www.cybertec-postgresql.com