Sorting cards

J. Landman Gay jacque at hyperactivesw.com
Thu Dec 30 14:38:00 EST 2021


Thanks for the reply. I understand how it works, my question is how to make it not work that 
way. :) Basically, I don't want the sub-sort.

On the other hand, something may have gone wrong when sorting by the first field because the 
order didn't change at all -- it was like I never executed the command. I need to investigate that.

Details: two fields, named "title" and "category". Sort by field "category", works. Later on, 
sort by field "title" -- no change. I tried this:

   sort cards by random(10000) -- mix them up
   sort cards by field "title"

also:
   sort cards numeric by the short ID of this card -- put them back in natural order
   sort cards by field "title"

Nope, except for once. I don't know why it worked only once. I'll poke around, but the question 
still stands for reference: how do we avoid the sub-sort? Maybe one of the two examples above 
is the way.

On 12/30/21 9:25 AM, Alex Tweedly via use-livecode wrote:
> You shouldn't need to ignore the previous sort. The second sort over-rides the first; it's only 
> when looking at those cards which have the same value for the second field that the previous 
> sorting applies.
> 
> So if we have
> 
> A2 B1 A1 C3
> 
> If we sort by char 2 of each, we would get    B1 A1 A2 C3 (nb - all with a 1, then all with a 
> 2, ...)
> 
> and THEN sort by char 1 of each, we get   A1 A2 B1 C3 (all A then all B then all ..., )
> 
> If we have A2 B1 A1 C3 and sort by char 1 of each, we get A2 A1 B1 C3 (all As before Bs, ...  
> and within the As they remain in the same order as they were).
> 
> Hmmm - not sure if that's clear or not.
> 
> Other way to think of it : a stable sort means that items which have matching keys remain in 
> the same relative position.
> 
> Alex
> 
> (P.S. you're perhaps mixing up "first" and "second" - if want them "properly" sorted, you do 
> the less important one (minor) first, then the major one. Hope that doesn't muddy it any more.)
> 
> 
> On 30/12/2021 06:41, J. Landman Gay via use-livecode wrote:
>> I am converting an old stack to LC and it needs to sort cards by one of two fields. LC does 
>> stable sorts, so if I sort by field 1 it works, and then if I sort later by field 2 it 
>> retains the original sort and does a sub-sort. I don't want that. What's the best way to 
>> ignore the previous sort order?
>>
>> I've tried a number of things with no luck.
>>
> 
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode


-- 
Jacqueline Landman Gay         |     jacque at hyperactivesw.com
HyperActive Software           |     http://www.hyperactivesw.com


More information about the use-livecode mailing list