"Kinky" sort...

Ton Kuypers tkuypers at pandora.be
Mon Sep 19 11:15:17 EDT 2005


hmmm, after implementing it and looking to your mail again, this is  
not what the outcome should be :-(
This code does the same thing as
     Sort vData with item 3 of each
     Sort vData with item 4 of each
The result first shows the lines without any groups, followed by the  
lines containing groups.

When I use your code (or mine) all lines without groups are put at  
the bottom of the list, not between the grouped items...

so making it even simpler:
Nr    group    date
1     A            October
2     A            November
3                    September
4     B            August
5     B            July
6     C            July
7     C            August
8                    January
Should become
Nr    group    date
8                    January
5     B            July
4     B            August
6     C            July
7     C            August
3                    September
1     A            October
2     A            November

So first the date within the group, and then the other items with the  
first date in the group as a key...

hmmmm, is this clear what I need?

Thanks,

Ton


On 19-sep-05, at 12:27, Mark Smith wrote:

> Something like this, in transcript?
>
>
> repeat for each line L in vData
>   -- split the data into an array using the group as keys (no group  
> lines go into groupZ)
>     if item 3 of L is not empty then
>       put L & cr after groupArray[item 3 of L]
>     else
>       put L & cr after groupArray[groupZ]
>     end if
>   end repeat
>   put the keys of groupArray into kList
>   sort lines of kList
>   repeat for each line L in kList
>     sort lines of groupArray[L] numeric by item 4 of each
>     put groupArray[L] & cr after theSortedList
>   end repeat
>
>   filter theSortedList without empty -- strip any empty lines from  
> trailing crs
>
> gives you:
>
> 1,text 1,group1,20050104
> 2,text 2,group1,20050104
> 8,text 8,group1,20050104
> 5,text 5,group2,20050104
> 3,text 3,group2,20051004
> 10,text 10,group3,20050104
> 4,text 4,group3,20051004
> 7,text 7,,20050104
> 6,text 6,,20050204
> 9,text 9,,20050204
>
> (I inserted commas as the itemDelimiter into the original data)
>
> Is this the order you wantd?
>
>
> Mark
>
>
> On 19 Sep 2005, at 09:45, Ton Kuypers wrote:
>
>
>
>
>
>
>
>
>> Hi gang,
>>
>> I am out of inspiration, somebody please help me...
>>
>> I've got a listbox containing a list of data:
>> ID    Description    Group    Date
>> 1     text 1         group1   20050104
>> 2     text 2         group1   20050104
>> 3     text 3         group2   20051004
>> 4     text 4         group3   20051004
>> 5     text 5         group2   20050104
>> 6     text 6                  20050204
>> 7     text 7                  20050104
>> 8     text 8         group1   20050104
>> 9     text 9                  20050204
>> 10    text 10        group3   20050104
>>
>> The date column is in fact the result of the seconds-function.
>> The data is the result of a SQL query to mySQL
>>
>> I need to sort the list on date, without splitting the groups and  
>> thats where I'm out of luck:
>> When I use
>>     Sort vData with item 4 of each
>>     Sort vData with item 3 of each
>> the groups are divided, when I use
>>     Sort vData with item 3 of each
>>     Sort vData with item 4 of each
>> the result first shows the lines without any groups, followed by  
>> the lines containing groups.
>>
>> How do I display these lines in the correct order without  
>> splitting the groups?
>> The dates within a group could differ (but not likely) but in that  
>> case the first first date should be the line to sort.
>>
>> Anybody any suggestions for using a kinky SQL statement or how to  
>> setup a sort in RR?
>>
>> Regards & many thanks in advance,
>>
>> Ton Kuypers
>> _______________________________________________
>> use-revolution mailing list
>> use-revolution at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your  
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-revolution
>>
>>
>>
>>
>>
>>
>>
>>
>
>
>
>
>
>
>
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your  
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-revolution
>
>




More information about the use-livecode mailing list