【发布时间】:2011-02-18 20:01:20
【问题描述】:
有什么简单的方法可以获取 sqlite 语句返回的行数吗?我不想先完成 COUNT() 的过程。谢谢。
【问题讨论】:
标签: iphone objective-c sqlite
有什么简单的方法可以获取 sqlite 语句返回的行数吗?我不想先完成 COUNT() 的过程。谢谢。
【问题讨论】:
标签: iphone objective-c sqlite
在每次调用 sqlite_step 时,将变量加 1。
如果你想要提前行计数,那么没有简单的方法。
【讨论】:
要统计表中的所有条目,可以使用以下 SQL 语句:
SELECT COUNT(*) FROM "mytable" where something=42;
或仅通过以下方式获取所有条目:
SELECT COUNT(*) FROM "mytable";
如果您已经完成查询,并且只想要返回的条目数,您可以使用 sqlite3_data_count() 和 sqlite3_column_count(),具体取决于您要计算的内容。
【讨论】:
COUNT.
sqlite3_data_count 和sqlite3_column_count 都返回列数,前者用于当前行,后者用于语句本身。特别是,SQLite 中没有函数告诉您一条语句将返回多少行,因为它不知道。您必须遍历行,或执行单独的 COUNT(*) 查询。