我正在使用以下代码
- (int)GetTextCount
{
NSMutableArray *audioArray=[[NSMutableArray alloc]init];
int count = 0;
//This method is defined to retrieve data from Database
NSString *dbPath=filePath;
sqlite3 *database;
if(sqlite3_open([dbPath UTF8String], &database) == SQLITE_OK) {
// Setup the SQL Statement and compile it for faster access
/*
SELECT (
SELECT COUNT(*)
FROM tab1
) AS count1,
(
SELECT COUNT(*)
FROM tab2
) AS count2
FROM dual
*/
const char *sqlStatement = "select count(*) from photo where mid=? ";
//const char *sqlStatement = "select * from textt where mid=?";
sqlite3_stmt *compiledStatement;
if(sqlite3_prepare_v2(database, sqlStatement, -1, &compiledStatement, NULL) == SQLITE_OK) {
sqlite3_bind_int(compiledStatement, 1, memoryData.memoryId);
//(compiledStatement, 1, [header UTF8String], -1, SQLITE_TRANSIENT);
while(sqlite3_step(compiledStatement) == SQLITE_ROW) {
AudioData *data=[[AudioData alloc]init];
//create the MemoryData object to store the data of one record
// Read the data from the result row
int pId=sqlite3_column_int(compiledStatement, 0);
NSLog(@"total audiosssss are %i",pId);
//NSString *filePath=[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 2)];
//filePath=[self retrievePath:filePath];
//[data setAudioId:pId];
//[data setFilePath:filePath];
//Store every object of MemoryData in t
[audioArray addObject:data];
} // end of the while
}
sqlite3_finalize(compiledStatement);
}
sqlite3_close(database);
return [audioArray count];
}
Run Code Online (Sandbox Code Playgroud)
为了从一个表算,但我需要从四个表计算行数,所以现在我在做什么是运行的,所以我想运行一个查询从四个表来选择从而降低了性能单独的查询,请帮助我该怎么办那?
我想你想要这个查询.(对不起,如果我错了).
SELECT (SELECT count(*) from table_1 where mid = ?) +
(SELECT count(*) from table_2 where mid = ?) +
(SELECT count(*) from table_3 where mid = ?) +
(SELECT count(*) from table_4 where mid = ?)
Run Code Online (Sandbox Code Playgroud)
尝试这个:
SELECT COUNT(*) AS MyCount, 'MyTable1Count' AS Description FROM Table1
UNION ALL
SELECT COUNT(*) AS MyCount, 'MyTable2Count' AS Description FROM Table2
UNION ALL
SELECT COUNT(*) AS MyCount, 'MyTable3Count' AS Description FROM Table3
UNION ALL
SELECT COUNT(*) AS MyCount, 'MyTable4Count' AS Description FROM Table4
Run Code Online (Sandbox Code Playgroud)
这将产生如下结果集:
我的计数 说明 ---------------------- 第534章 33 我的表2计数 92843 我的表3计数 第931章