Re: Select Distinct Order By Array_Position
Rob Sargent <[email protected]> Mon, 26 Nov 2018 12:20:14 -0700
| Newsgroups | gmane.comp.db.postgresql.sql |
|---|---|
| Message-ID | <[email protected]> |
> On Nov 26, 2018, at 12:12 PM, Mark Williams <[email protected]> wrote: > > Hi, > > I am getting an error “SELECT DISTINCT, ORDER BY expressions must appear in select list”. I am ordering by documents.id <http://documents.id/> and it appears in my select list. So I am guessing the problem lies with the array. Is there any way of achieving this? Query is below. > > SELECT DISTINCT documents.id <http://documents.id/>, page_no FROM texts LEFT JOIN documents on documents.id <http://documents.id/>=texts.doc_id WHERE doc_id IN (26194, 2345, 189) AND (text LIKE '%RIVER%') ORDER BY array_position(ARRAY[26194, 2345, 189]::INTEGER[], documents.id <http://documents.id/>) > > Thanks, > > Mark > __ Try put the array_position clause in the select and add documents.id <http://documents.id/> to the order by?