Skip to content
Siminov Framework edited this page Jan 16, 2016 · 9 revisions

Count

Exposes API's to get count of the number of times that X is not NULL in a group. The count(*) function (with no arguments) returns the total number of rows in the group.

Android API: Count

	
    public ICount count() throws DatabaseException;
  • Android: ICount
    public interface ICount {

        public ICount distinct();
	
        public ICountClause where(String column);
	
        public ICount whereClause(String whereClause);
	
        public ICountClause and(String column);
	
        public ICountClause or(String column);

        public ICount groupBy(String...columns);
	
        public ICountClause having(String column);

        public ICount havingClause(String havingClause);

        public ICount column(String column);
	
        public Object execute() throws DatabaseException;

    }
  • Android: ICountClause
    public interface ICountClause {

        public ICount equalTo(String value);

        public ICount notEqualTo(String value);
	
        public ICount greaterThan(String value);
	
        public ICount greaterThanEqual(String value);
	
        public ICount lessThan(String value);
	
        public ICount lessThanEqual(String value);
	
        public ICount between(String start, String end);
	
        public ICount like(String like);
	
        public ICount in(String...values);

    }
Android Sample: Get Count
    int count = 0;
	
    try {
        count = new Book().count().where(Book.TITLE).equalTo("C").execute();
    } catch(DatabaseException de) {
		//Log it.
    }
	

iOS API: Count

    - (id<SICICount>)count;
  • iOS: ICount
    @protocol SICICount <NSObject>

    - (id<SICICount>)distinct;

    - (id<SICICountClause>)where:(NSString *)column;

    - (id<SICICount>)whereClause:(NSString *)whereClause;
 
    - (id<SICICountClause>)and:(NSString *)column;

    - (id<SICICountClause>)or:(NSString *)column;

    - (id<SICICount>)groupBy:(NSArray *)columns;

    - (id<SICICountClause>)having:(NSString *)column;

    - (id<SICICount>)havingClause:(NSString *)havingClause;
 
    - (id<SICICount>)column:(NSString *)column;

    - (id)execute;

    @end
  • iOS: SICICountClause
    @protocol SICICountClause <NSObject>

    - (id<SICICount>)equalTo:(id)value;

    - (id<SICICount>)notEqualTo:(id)value;

    - (id<SICICount>)greaterThan:(id)value;

    - (id<SICICount>)greaterThanEqual:(id)value;

    - (id<SICICount>)lessThan:(id)value;

    - (id<SICICount>)lessThanEqual:(id)value;

    - (id<SICICount>)between:(id)start end:(id)end;

    - (id<SICICount>)like:(id)like;

    - (id<SICICount>)in:(id)values;

    @end
iOS Sample: Get Count
    int count = 0;
	
    @try {
        count = [[[[[[Book alloc] init] count] where:[Book TITLE]] equalTo:@"C"] execute];
    } @catch(SICDatabaseException *databaseException) {
		//Log it.
    }
	

Windows API: Count

    public ICount Count();
  • Windows: ICount
    public interface ICount 
    {

        ICount Distinct();
	
        ICountClause Where(String column);
	
        ICount WhereClause(String whereClause);
	
        ICountClause And(String column);
	
        ICountClause Or(String column);

        ICount GroupBy(String[] columns);
	
        ICountClause Having(String column);

        ICount HavingClause(String havingClause);
	
        ICount Column(String column);
	
        int execute();
	
    }
  • Windows: ICountClause
    public interface ICountClause 
    {

        ICount EqualTo(String value);

        ICount NotEqualTo(String value);
	
        ICount GreaterThan(String value);
	
        ICount GreaterThanEqual(String value);
	
        ICount LessThan(String value);
	
        ICount LessThanEqual(String value);
	
        ICount Between(String start, String end);
	
        public ICount Like(String like);
	
        public ICount In(String[] values);

    }
Windows Sample: Get Count
    int count = 0;
	
    try 
    {
        count = new Book().Count().Where(Book.TITLE).EqualTo("C").Execute();
    } 
    catch(DatabaseException de) 
    {
		//Log it.
    }
	

JavaScript API: Count

    this.count = function();
  • JavaScript: ICount
    function ICount() {

        this.distinct = function();
	
        this.where = function(column);
	
        this.whereClause = function(whereClause);
	
        this.and = function(column);
	
        this.or = function(column);

        this.groupBy = function(columns);
	
        this.having = function(column);

        this.havingClause = function(havingClause);
	
        this.column = function(column);
	
        this.execute = function();

        this.executeAsync = function(callback, transaction);
	
    }
  • JavaScript: ICountClause
    function ICountClause() {

        this.equalTo = function(value);

        this.notEqualTo = function(value);
	
        this.greaterThan = function(value);
	
        this.greaterThanEqual = function(value);
	
        this.lessThan = function(value);
	
        this.lessThanEqual = function(value);
	
        this.between = function(start, end);
	
        this.like = function(like);
	
        this.in = function(values);

    }
JavaScript Sample: Get Count
            /** Count Sample **/

    int count = 0;
	
    try {
        count = new Book().count().where(Book.TITLE).equalTo("C").execute();
    } catch(de) {
		//Log it.
    }
	
            /** Count Async Sample **/

    var callback = new Callback();
    callback.onSuccess = function(count) {

    }

    new Book().count().executeAsync(callback);
            /** Count Async Transaction Sample **/

    var callback = new Callback();
    callback.onExecute = function(transaction) {

        var countCallback = new Callback();
        countCallback.onSuccess = function() {

        }

        new Book().count().executeAsync(countCallback, transaction);
    }

    callback.onSuccess = function() {

    }

    var databaseDescriptor = new Lession().getDatabaseDescriptor();
    Database.beginTransactionAsync(databaseDescriptor, callback);