Re: Select Distinct Order By Array_Position - Mailing list pgsql-sql

From Rob Sargent
Subject Re: Select Distinct Order By Array_Position
Date
Msg-id 57AC3D96-24B8-4D06-8946-AF6E0116888F@gmail.com
Whole thread Raw
In response to Select Distinct Order By Array_Position  ("Mark Williams" <markwillimas@gmail.com>)
Responses RE: Select Distinct Order By Array_Position  ("Mark Williams" <markwillimas@gmail.com>)
List pgsql-sql


On Nov 26, 2018, at 12:12 PM, Mark Williams <markwillimas@gmail.com> wrote:

Hi,
 
I am getting an error “SELECT DISTINCT, ORDER BY expressions must appear in select list”. I am ordering by 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, page_no FROM texts LEFT JOIN documents on 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)
 
Thanks,
 
Mark
__

Try put the array_position clause in the select and add documents.id to the order by?

pgsql-sql by date:

Previous
From: "Mark Williams"
Date:
Subject: Select Distinct Order By Array_Position
Next
From: "David G. Johnston"
Date:
Subject: Re: Select Distinct Order By Array_Position