Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL查询以计数记录_Sql_Mysql_Android_Sqlite - Fatal编程技术网

SQL查询以计数记录

SQL查询以计数记录,sql,mysql,android,sqlite,Sql,Mysql,Android,Sqlite,我有一张桌子 EntryLog(Name String, CheckIn Boolean) 我想根据每个名字计算签入的次数。如何编写查询以将结果作为单个结果集获取?尝试: SELECT Name, COUNT(*) FROM EntryLog WHERE CheckIn GROUP BY Name 除了标准的sqlite,您肯定没有单独的mysql数据库吗?我建议重新标记。但它是否只获取签入为真的记录?不,但您肯定可以自己实现该部分现在有了。重要的一点是IMHO通过Group进行的聚合。还要

我有一张桌子

EntryLog(Name String, CheckIn Boolean)
我想根据每个名字计算签入的次数。如何编写查询以将结果作为单个结果集获取?

尝试:

SELECT Name, COUNT(*) FROM EntryLog WHERE CheckIn GROUP BY Name

除了标准的sqlite,您肯定没有单独的mysql数据库吗?我建议重新标记。但它是否只获取签入为真的记录?不,但您肯定可以自己实现该部分现在有了。重要的一点是IMHO通过Group进行的聚合。还要注意,要获得记录计数结果,请使用cursor.moveToFirst,然后在结果记录的第一个字段中获取数字:cursor。getInt0@Brad,它不是cursor.getInt1吗?或者更好地使用Cursor.getColumnIndexmethod@Brad-你确定?如果我错了,请纠正我的错误,但我确信selectname,Count*将返回两个字段,一个名为“NAME”,一个名为“Count*”。如果这是正确的,那么调用getInt0将尝试从第一个字段中获取一个整数,该字段将是名为“Name”的列。这可能/可能不会引发错误。在我看来,OP可能希望使用cursor.getString0来获取“Name”列,而cursor.getInt1来获取count列。@Hamy感谢您发现了我的错误。由于正在查询两个字段,因此光标中将有两个字段。第一个字段是Name,第二个字段是我们要查找的计数。因此,您可能需要如您所述的getInt1。
SELECT COUNT(1) FROM EntryLog WHERE CheckIn = 1 GROUP BY [Name]
SELECT name,
       COUNT(*)
    FROM EntryLog
    WHERE CheckIn
    GROUP BY name;