Group Concat
Siminov Framework edited this page Jan 16, 2016
·
10 revisions
Exposes API's to get group concat that returns a string which is the concatenation of all non-NULL values of X. If parameter Y is present then it is used as the separator between instances of X. A comma (",") is used as the separator if Y is omitted. The order of the concatenated elements is arbitrary.
public IGroupConcat groupConcat() throws DatabaseException;
- Android: IGroupConcat Interface
public interface IGroupConcat {
public IGroupConcat delimiter(String delimiter);
public IGroupConcatClause where(String column);
public IGroupConcat whereClause(String whereClause);
public IGroupConcatClause and(String column);
public IGroupConcatClause or(String column);
public IGroupConcat groupBy(String...columns);
public IGroupConcatClause having(String column);
public IGroupConcat havingClause(String havingClause);
public IGroupConcat column(String column);
public Object execute() throws DatabaseException;
}
- Android: IGroupConcatClause Interface
public interface IGroupConcatClause {
public IGroupConcat equalTo(String value);
public IGroupConcat notEqualTo(String value);
public IGroupConcat greaterThan(String value);
public IGroupConcat greaterThanEqual(String value);
public IGroupConcat lessThan(String value);
public IGroupConcat lessThanEqual(String value);
public IGroupConcat between(String start, String end);
public IGroupConcat like(String like);
public IGroupConcat in(String...values);
}
int groupConcat = 0;
try {
groupConcat = new Book().groupConcat().column(Book.COLUMN_NAME_WHICH_CONTAIN_NUMBRIC_VALUE).where(Book.TITLE).equalTo("C").execute();
} catch(DatabaseException de) {
//Log it.
}
- (id<SICIGroupConcat>)groupConcat;
- iOS: SICIGroupConcat Interface
@protocol SICIGroupConcat <NSObject>
- (id<SICIGroupConcat>)delimiter:(NSString *)delimiter;
- (id<SICIGroupConcatClause>)where:(NSString *)column;
- (id<SICIGroupConcat>)where:(NSString *)whereClause;
- (id<SICIGroupConcatClause>)and:(NSString *)column;
- (id<SICIGroupConcatClause>)or:(NSString *)column;
- (id<SICIGroupConcat>)groupBy:(NSArray *)columns;
- (id<SICIGroupConcatClause>)having:(NSString *)column;
- (id<SICIGroupConcat>)havingClause:(NSString *)havingClause;
- (id<SICIGroupConcat>)column:(NSString *)column;
- (id)execute;
@end
- iOS: SICIGroupConcatClause Interface
@protocol SICIGroupConcatClause <NSObject>
- (id<SICIGroupConcat>)equalTo:(id)value;
- (id<SICIGroupConcat>)notEqualTo:(id)value;
- (id<SICIGroupConcat>)greaterThan:(id)value;
- (id<SICIGroupConcat>)greaterThan:(id)value;
- (id<SICIGroupConcat>)lessThan:(id)value;
- (id<SICIGroupConcat>)lessThan:(id)value;
- (id<SICIGroupConcat>)between:(id)start end:(id)end;
- (id<SICIGroupConcat>)like:(id)like;
- (id<SICIGroupConcat>)in:(id)values;
@end
NSString *groupConcat = 0;
@try {
groupConcat = [[[[[[[Book alloc] init] groupConcat] column:[Book COLUMN_NAME_WHICH_CONTAIN_NUMBRIC_VALUE]] where:[Book TITLE]] equalTo:@"C"] execute];
} @catch(SICDatabaseException *databaseException) {
//Log it.
}
public IGroupConcat GroupConcat();
- Windows: IGroupConcat Interface
public interface IGroupConcat
{
IGroupConcat Delimiter(String delimiter);
IGroupConcatClause Where(String column);
IGroupConcat WhereClause(String whereClause);
IGroupConcatClause And(String column);
IGroupConcatClause Or(String column);
IGroupConcat GroupBy(String[] columns);
IGroupConcatClause Having(String column);
IGroupConcat HavingClause(String havingClause);
IGroupConcat Column(String column);
String Execute();
}
- Windows: IGroupConcatClause Interface
public interface IGroupConcatClause
{
IGroupConcat EqualTo(String value);
IGroupConcat NotEqualTo(String value);
IGroupConcat GreaterThan(String value);
IGroupConcat GreaterThanEqual(String value);
IGroupConcat LessThan(String value);
IGroupConcat LessThanEqual(String value);
IGroupConcat Between(String start, String end);
IGroupConcat Like(String like);
IGroupConcat In(String[] values);
}
String groupConcat = 0;
try
{
groupConcat = new Book().GroupConcat().Column(Book.COLUMN_NAME_WHICH_CONTAIN_NUMBRIC_VALUE).Where(Book.TITLE).EqualTo("C").Execute();
}
catch(DatabaseException de)
{
//Log it.
}
this.groupConcat = function();
- JavaScript: IGroupConcat Interface
function IGroupConcat() {
this.delimiter = function(delimiter);
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: IGroupConcatClause Interface
function IGroupConcatClause() {
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);
}
/** Group Concat Sample **/
var groupConcat = 0;
try {
groupConcat = new Book().groupConcat().column(Book.COLUMN_NAME_WHICH_CONTAIN_NUMBRIC_VALUE).where(Book.TITLE).equalTo("C").execute();
} catch(de) {
//Log it.
}
/** Group Concat Async Sample **/
var callback = new Callback();
callback.onSuccess = function(groupConcat) {
}
new Book().groupConcat().executeAsync(callback);
/** Group Concat Async Transaction Sample **/
var callback = new Callback();
callback.onExecute = function(transaction) {
var groupConcatCallback = new Callback();
groupConcatCallback.onSuccess = function() {
}
new Book().groupConcat().executeAsync(groupConcatCallback, transaction);
}
callback.onSuccess = function() {
}
var databaseDescriptor = new Lession().getDatabaseDescriptor();
Database.beginTransactionAsync(databaseDescriptor, callback);