## Re: Help by query

From: killspam killspam <01killspam(at)gmail(dot)com> "Oliveiros d'Azevedo Cristina" , pgsql-novice(at)postgresql(dot)org Re: Help by query 2011-02-01 15:35:33 AANLkTimz7ovnRYreRpH8+d+EN7jxnb_OQFASyr68EiNm@mail.gmail.com (view raw, whole thread or download thread mbox) 2011-02-01 10:14:03 from killspam killspam <01killspam(at)gmail(dot)com>  2011-02-01 11:57:27 from "Oliveiros d'Azevedo Cristina"   2011-02-01 15:35:33 from killspam killspam <01killspam(at)gmail(dot)com> pgsql-novice
2011/2/1 Oliveiros d'Azevedo Cristina <oliveiros(dot)cristina(at)marktest(dot)pt>

>  Howdy,
> Can you explain a little better the background of the problem you're trying
> to solve as it is not clear for me?
> Where did the line with id=6 come from?
> And what's the role of the "example number" variable you've provided ? Is
> it the threshold? What happens if a group surpasses it ?
>
> Best,
> Oliveiros
>
> ----- Original Message -----
> *From:* killspam killspam <01killspam(at)gmail(dot)com>
> *To:* pgsql-novice(at)postgresql(dot)org
> *Sent:* Tuesday, February 01, 2011 10:14 AM
> *Subject:* [NOVICE] Help by query
>
> Hello list.
>
> I have the following problem:
>
> Example table Origin
>
> *id   | length  |  source  |  target*
>
> 1        25          33           45
> 2       100         45           60
> 3        12          22           11
> 4        78          60           55
> 5        20          24           60
>
> Example Results: new table
>
> *id   | length  |  source  |  target | group | total length*
>
> 1        25          33           *45*        1          145
> 2       100         *45*           *70*        1          145
> 3        12          22           11        3           12
> 4        78         * 60*           55        2           98
> 5        20          24          * 60*        2           98
> 6        20          30           *70*        1          145
>
> Example Number variable      >= 150
>
> and I want to create groups of elements on two conditions.
>
> source or target must match, since this indicates that touch
>
> to group items with the first condition and that the sum of its length does
> not exceed a given number
>
> not be repeated elements in groups (The items can not be processed and
> reprocessed)
>
> Can someone help?
>
>
> regards
> Mario
>
> Hi

Where did the line with id=6 come from?
The element id= 6 should be in the 2 examples.

Example table Origin

*id   | length  |  source  |  target*

1        25          33           45
2       100         45           60
3        12          22           11
4        78          60           55
5        20          24           60
6        20          30           70

Example Results: new table

*id   | length  |  source  |  target | group | total length*

1        25          33           *45*        1          145
2       100         *45*           *70*        1          145
3        12          22           11        3           12
4        78         * 60*           55        2           98
5        20          24          * 60*        2           98
6        20          30           *70*        1          145

It is only 1 table with n elements.

And what's the role of the "example number" variable you've provided ? Is it
the threshold? What happens if a group surpasses it ?
- The number provided is the limit for the total of the sums of longitude
that accumulate to create each group, if it exceeds the next group is
created.

Explanation. :-)

1 condition: matching source or target.

2 condition: the sum of the lengths of the elements to be accumulated by the
1 st condition
can not exceed the number that would limit "the divisor" and then
when it comes next most the value of the number group closes.
and start a new one. So until there are no more records.

Each element can only belong to a group.

In a perfect world :  Sum total length(all elements)  /    divider(limit)  =
number of groups
Example:                       10.000                           /
1000                10

regards

Mario.

### pgsql-novice by date

 Next: From: abhinav mehrotra Date: 2011-02-01 15:51:23 Subject: Schema versioning in postgres Previous: From: David Patricola Date: 2011-02-01 14:34:04 Subject: Need to enable --with-openssl