ORMLITE ORDER_BY with multiple columns

rawcoder064 picture rawcoder064 · Mar 27, 2013 · Viewed 11.4k times · Source

I am using ormlite in my recent android project. I want to order by on a query on multiple columns in a table (say two columns). How can I achieve that??

Here is the code for a single order by...

QueryBuilder<Visit, Integer> qb = getHelper().getVisitDao().queryBuilder();
qb.where().eq("FOREIGN_ID", id);
qb.orderBy("VISIT_DATE", false);

Answer

Gray picture Gray · Mar 27, 2013

I want to order by on a query on multiple columns in a table(say two columns). How can i achieve that??

All you need to do is to call orderBy(...) multiple times.

qb.orderBy("VISIT_DATE", false);
qb.orderBy("order-column", false);
...

This is covered by the documentation. To quote:

Add "ORDER BY" clause to the SQL query statement to order the results by the specified column name. Use the ascending boolean to get a ascending or descending order. This can be called multiple times to group by multiple columns.

Also the javadocs:

Add "ORDER BY" clause to the SQL query statement. This can be called multiple times to add additional "ORDER BY" clauses. Ones earlier are applied first.