Re: Random Weighted Result Ordering

From: Dimitri Fontaine <dfontaine(at)hi-media(dot)com>
To: Eliot Gable <egable+pgsql-general(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Random Weighted Result Ordering
Date: 2010-06-07 08:34:51
Message-ID: 87r5kj9r6c.fsf@hi-media-techno.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Eliot Gable <egable+pgsql-general(at)gmail(dot)com> writes:

> I have a set of results that I am selecting from a set of tables which I want to return in a random weighted order for each priority group returned. Each row has a
> priority column and a weight column. I sort by the priority column with 1 being highest priority. Then, for each distinct priority, I want to do a weighted random
> ordering of all rows that have that same priority. I select the set of rows and pass it to a custom-built function that does the ordering. I have tested both the
> prioritize and the random weighted ordering functions and they do exactly what I want them to do for ordering the data that I send them.
>
> The problem comes from the fact that I tried to make them generalized. They take an array of a small complex type which holds just an arbitrary ID, the priority,
> and the weight. The output is the same information but the rows are in
> the correct order.

I'd try having the function return just numbers in the right order, then
use that in the ORDER BY. To have those numbers, you'd still need to
join with the result of the function, tho.

Hope this helps you already, I don't have time to go deeper in the
subject!

Regards,
--
dim

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Ravi Katkar 2010-06-07 08:35:42 Do ODBC - Posgresql supports refcursor?
Previous Message Zery 2010-06-07 07:49:20 Re: WINDOWS : PostgreSQL 8.4 Server Start Error