The documentation states that using COUNT (), etc. requires use selectRaw(). I was hoping to get around this - no need to write my own SQL, because rows are the main reason I decided to use ORMLite.
http://ormlite.com/docs/query-builder
selectRaw (String... columns):
(COUNT, MAX,...) . - . , . . " " .
selectRaw(), :
, selectRaw(), " " , queryRaw().
, , , , , selectColumns() selectRaw() ( )
selectRaw() selectColumns() "" selectColumns(), .
, ORMLite selectRaw() , selectColumns().
QueryBuilder<EmailMessage, String> qb = emailDao.queryBuilder();
qb.selectColumns("emailAddress"); // This column is not selected due to later use of selectRaw()!
qb.selectRaw("COUNT (emailAddress)");
ORMLite , , , :
QueryBuilder<EmailMessage, String> qb = emailDao.queryBuilder();
qb.selectRaw("emailAddress");
qb.selectRaw("COUNT (emailAddress)");
qb.groupBy("emailAddress");
GenericRawResults<String[]> rawResults = qb.queryRaw();