Also, performance is very good with a compound index on emis_number,
status, entry_date, significance.

RBS

On Wed, Apr 1, 2015 at 11:06 AM, Bart Smissaert <bart.smissaert at gmail.com>
wrote:

> Thanks, that does work indeed. My actual real order is now this:
>
> ORDER BY emis_number asc, status desc,
> (case status when 2 then entry_date when 1 then significance end) desc,
> entry_date desc
>
> All working perfect.
> Never realised you could do this.
>
> RBS
>
>
> On Wed, Apr 1, 2015 at 10:03 AM, Simon Slavin <slavins at bigfraud.org>
> wrote:
>
>>
>> On 1 Apr 2015, at 9:29am, Bart Smissaert <bart.smissaert at gmail.com>
>> wrote:
>>
>> > This needs to be sorted on column A asc
>> > Then when the value in A is 1 the second sort needs to be asc on column
>> B,
>> > but when the value in A is 2 then the second sort  needs to be asc on
>> > column C.
>>
>> You just put it all in your ORDER BY clause.
>>
>> SELECT * FROM myTable ORDER BY a, (CASE a WHEN 1 THEN b WHEN 2 THEN c
>> END) ASC
>>
>> What you can't do is create an index which perfects suit this clause.
>> You'll get the right results but not as quickly as a clause with an ideal
>> index.  I can think of a few indexes which the planner might take advantage
>> of, but not any which are ideal.
>>
>> Simon.
>> _______________________________________________
>> sqlite-users mailing list
>> sqlite-users at mailinglists.sqlite.org
>> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>>
>
>

Reply via email to