This will work great - just a correction, there should be a comma after
"columnB" in the order by clause, else it might not parse, so the
revised is:
SELECT * FROM table
ORDER BY columnA, columnB,
CASE WHEN columnC = 1
THEN 0 ELSE 1 END;
On 2015-08-22 10:47 PM, Kevin Benson wrote:
> On Sat, Aug 22, 2015
>
>> afriendandmore wrote:
>>> The table shall be ordered according to A. (Order by A)
>>> But if C ist true and to the value B1 in this Record, there exists
>> another Record with B2 and B2 = B1, then B1 should be ordered in the row
>> above B2.
>
> If the B1 and B2, to which you refer, are just two equal values in
> different rows of column B, then it sounds like you want:
>
> SELECT * FROM table
> ORDER BY columnA, columnB
> CASE WHEN columnC = 1
> THEN 0 ELSE 1 END;
>
> If neither ASC or DESC are specified, rows are sorted in ascending (smaller
> values first) order by default.
> --
> --
> --
> --???--
> K e V i N
> _______________________________________________
> sqlite-users mailing list
> sqlite-users at mailinglists.sqlite.org
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users