SQLite查询语句中的count(*) 与getColumnIndex("count")
关键代码如下:

    int count = 0;
    SQLiteDatabase db = null;
    Cursor cursor = null;

        //执行创建数据库或是表的语句
        db = openHelper.getReadableDatabase();
        //执行通过用户名和密码的参数查询出用户,并保存在cursor中
        cursor = db
                .rawQuery(
                        "select count(*) as count from student where name=? and pwd=?",
                        new String[] { name, pwd });
        //得到的用户信息通过moveToNext()方法,while语句循环输出
        while (cursor.moveToNext()) {
            count = cursor.getInt(cursor.getColumnIndex("count"));

}
问题:while语句中(即倒数第二段中的),cursor.getColumnIndex("count")语句,查询出来的是什么东西啊?getColumnIndex(string name),不是根据 name的名称获得它的列索引。可是rawQuery查询语句中,“select count(*) as count from student...”。

3个回答

因为sql语句中用count(*) as count
count是一个新列的别名。这样你getColumnIndex就可以获取count列的数据。

oyljerry
oyljerry 回复day_moon: 就是满足你名字,年龄的记录个数
大约 4 年之前 回复
day_moon
day_moon 那我getColumnIndex得到的是什么的数据啊( count = cursor.getInt(cursor.getColumnIndex("count"))中的count)?
大约 4 年之前 回复

得到count这个字段的值,,,游标指向的,,

因为getstring、getint等方法需要的参数是**列索引**
所以,先用getColumnIndex根据 name的名称获得它的列索引

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
SQL 中 count(*),count(1),count(col)
SQL 中 count(*),count(1),count(col)的执行效率问题 count(*)= count(1) count(*) > count(col)
关于select count的查询语句
想请教高手一个问题,数据表article(新闻)内有5个字段 分别是,id,title,content,departmentclass,articleclass数据表department(发布者所属部门)内有id,department等字段,数据表articleclass(新闻所属栏目)内有id,articlepart等字段,数据表article中的departmentclass,articleclass分别与数据表department和数据表articleclass中的id对应,我现在想查询统计新闻的条数使得查询语句中能显示属于各部门的每个栏目的新闻条数,并显示部门名称和栏目名称
count() 和 count(*)区别?
被弄糊涂了,以前还明白呢。请指教.
count(*) 和count(1)的区别
如题:前段时间听同事说,count(*) 比count(1)的效率慢....细想一下,发现自己也不太明白,求解!
count
<%rn set rs=conn.execute("select count(y_name) from admin_shiyongdanwei")rn response.write rs(0)rn set rs=nothingrn %>rn以上代码是统计出Y_name的记录数,能否继续筛选y_name=1 的有多少条?怎么实现,最好是详细点。谢谢
count(*) 与count(列名)的区别
恩 我记得有个 * 有个可以查出null 的信息 这个null 指的是什么?那一列为null?? 条件列么? 其实还是有点糊涂rnrnrn那个,除此之外 还有什么? count (*) 会用到索引?? rnrnrn今天面试因为这个题被鄙视了... 郁闷死了 还顺便鄙视我们老师。rnrn我不就一应届生吗 至于这么鄙视我么!!居然因为count(*) 还是count(主键列)的问题 说我sql 有问题.....rnrn各位师兄师姐帮帮忙吧~~
count(*)和count(1) 问题
请问select count(1) from emp和rnselect count(*) from emprn中的count(1) 和 count(*)有什么区别,效率上是不是有区别呀!
count(1)和count(*)和count(字段)的区别
count(1)和count(*)和count(字段)的区别,除了效率以外的区别
count(*)
对于sql语句里的统计这方面我不能理解 用group by来分组 跟统计又有什么关系 还有count()括号里应该填什么 填*代表什么 分组是不是关系到统计的类型 请哪位大侠来帮忙一下
关于count(1),count(*)和count(列名)的区别
Oracle11g下,通过实验结论,说明了count()、count(1)和count(主键索引字段)其实都是执行的count(),而且会选择索引的FFS扫描方式,count(包含空值的列)这种方式一方面会使用全表扫描,另一方面不会统计空值,因此有可能和业务上的需求就会有冲突,因此使用count统计总量的时候,要根据实际业务需求,来选择合适的方法,避免语义不同。...
Count(*) Count(1)
[code=csharp]rnselect count(*) from 表Trnselect count(1) from 表Trn[/code]rn rn听说这两者有区别,但是我测试了下,好像找不出啥毛病rnrn求大神看看rn[img=https://img-bbs.csdn.net/upload/201305/07/1367915101_676708.jpg][/img]rn[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/25.gif][/img][img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/25.gif][/img][img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/25.gif][/img][img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/25.gif][/img]
count(0) 和 count(1)
今天写了一句SQL 大致是这样:                                 select count(case when sex=1 then 1 else 0 end)as ‘男’,count(case when sex=2 then 1 else 0 end) as ‘女’ from demo 得出结果总是 总数(男女之和如count(*)) 后来才发现 count(...
Count(*) 和 count(1) 的问题
为什么我用List result = _dao.find("SELECT COUNT(*) AS count from DrawingnoMap A");不会报错,rn而当我写成 List result = _dao.find("SELECT COUNT(1) AS count from DrawingnoMap A");就会报下面的异常:rnException in thread "Thread-6" java.lang.NoSuchMethodError: org.hibernate.hql.antlr.HqlBaseParser.recover(Lantlr/RecognitionException;Lantlr/collections/impl/BitSet;)Vrnrn at org.hibernate.hql.antlr.HqlBaseParser.aggregate(HqlBaseParser.java:4421)rnrn at org.hibernate.hql.antlr.HqlBaseParser.identPrimary(HqlBaseParser.java:4052)rnrn at org.hibernate.hql.antlr.HqlBaseParser.primaryExpression(HqlBaseParser.java:861)rnrn at org.hibernate.hql.antlr.HqlBaseParser.atom(HqlBaseParser.java:3438)rnrn at org.hibernate.hql.antlr.HqlBaseParser.unaryExpression(HqlBaseParser.java:3216)17:18:07,531 ERROR PARSER[reportError]:33 - line 1:14: unexpected token: 1rnrn at org.hibernate.hql.antlr.HqlBaseParser.multiplyExpression(HqlBaseParser.java:3098)rnrn at org.hibernate.hql.antlr.HqlBaseParser.additiveExpression(HqlBaseParser.java:2818)rnrn at org.hibernate.hql.antlr.HqlBaseParser.concatenation(HqlBaseParser.java:570)rnrn at org.hibernate.hql.antlr.HqlBaseParser.relationalExpression(HqlBaseParser.java:2586)rnrn at org.hibernate.hql.antlr.HqlBaseParser.equalityExpression(HqlBaseParser.java:2449)rnrn at org.hibernate.hql.antlr.HqlBaseParser.negatedExpression(HqlBaseParser.java:2413)rnrn at org.hibernate.hql.antlr.HqlBaseParser.logicalAndExpression(HqlBaseParser.java:2331)rnrn at org.hibernate.hql.antlr.HqlBaseParser.logicalOrExpression(HqlBaseParser.java:2296)rnrn at org.hibernate.hql.antlr.HqlBaseParser.expression(HqlBaseParser.java:2082)rnrn at org.hibernate.hql.antlr.HqlBaseParser.aliasedExpression(HqlBaseParser.java:2249)rnrn at org.hibernate.hql.antlr.HqlBaseParser.selectedPropertiesList(HqlBaseParser.java:1455)rnrn at org.hibernate.hql.antlr.HqlBaseParser.selectClause(HqlBaseParser.java:1365)rnrn at org.hibernate.hql.antlr.HqlBaseParser.selectFrom(HqlBaseParser.java:1106)rnrn at org.hibernate.hql.antlr.HqlBaseParser.queryRule(HqlBaseParser.java:702)rnrn at org.hibernate.hql.antlr.HqlBaseParser.selectStatement(HqlBaseParser.java:296)rnrn at org.hibernate.hql.antlr.HqlBaseParser.statement(HqlBaseParser.java:159)rnrn at org.hibernate.hql.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:248)rnrn at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:157)rnrn at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)rnrn at org.hibernate.engine.query.HQLQueryPlan.(HQLQueryPlan.java:77)rnrn at org.hibernate.engine.query.HQLQueryPlan.(HQLQueryPlan.java:56)rnrn at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)rnrn at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)rnrn at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)rnrn at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)rnrn at org.springframework.orm.hibernate3.HibernateTemplate$29.doInHibernate(HibernateTemplate.java:832)rnrn at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:362)rnrn at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:830)rnrn at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:822)rnrn at org.ejs.dao.support.GenericDaoSupport.find(Unknown Source)rnrn at com.application.dao.hibernate.HibernateDrawingnoMapDAO.findByDrawingnoCode(HibernateDrawingnoMapDAO.java:34)rnrn at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)rnrn at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)rnrn at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)rnrn at java.lang.reflect.Method.invoke(Method.java:585)rnrn at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:280)rnrn at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:187)rnrn at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:154)rnrn at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:104)rnrn at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)rnrn at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:210)rnrn at $Proxy118.findByDrawingnoCode(Unknown Source)rnrn at com.application.service.pojo.POJODrawingnoMapService.findByDrawingnoCode(POJODrawingnoMapService.java:80)rnrn at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)rnrn at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)rnrn at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)rnrn at java.lang.reflect.Method.invoke(Method.java:585)rnrn at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:280)rnrn at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:187)rnrn at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:154)rnrn at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)rnrn at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)rnrn at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:210)rnrn at $Proxy119.findByDrawingnoCode(Unknown Source)rnrn at com.application.swing.business.DrawingnoMapPlugin.doRefresh(DrawingnoMapPlugin.java:304)rnrn at com.application.swing.business.DrawingnoMapPlugin.doStart(DrawingnoMapPlugin.java:298)rnrn at com.application.swing.MainFrame$1.run(MainFrame.java:176)rnrn at java.lang.Thread.run(Thread.java:595)rn我很纳闷,难道是hibernate 不支持count(1)???rnrn
【优化】COUNT(1)、COUNT()、COUNT(常量)、COUNT(主键)、COUNT(ROWID)、COUNT(非空列)等
BLOG_Oracle_lhr_【优化】COUNT(1)、COUNT()、COUNT(常量)、COUNT(主键)、COUNT(ROWID)、COUNT(非空列)、COUNT(允许为空列)、COUNT(DISTINCT 列名).pdf
count(*)和count(1)的区别
我是一个菜鸟,希望得到大家的指点,谢谢了。
COUNT
[code=sql]select a.thename,a.selfcode,a.parentcode,count(b.selfcode) as cnt from glasstype a,glasstype b rnwhere a.parentcode='-1' and a.selfcode=b.parentcoderngroup by a.thename,a.selfcode,a.parentcode,a.theindexrnorder by a.theindex,a.selfcode[/code]rn上面的sql语句,只读出了两个两个条件的数据,rn我想得到的结果是rnthename     selfcode    parentcode       cntrn1          2         3         4rna          b         c         3rnc          c         d         0rna          b         a         0rn即:a.selfcode=b.parentcode这个条件不满足是,cnt 能否输出0
count()?
3rn $dwmyrow = mssql_fetch_array($dwresult);rn echo" ";rn echo" $dwmyrow[banzhu]";rn rn$a=count($checkbox);rnecho $a;rn请问为什么我的$a=0错在那里啦呀!!!!!
请教关于count(*)与like的查询语句
select rn(select count(*) rnfrom cpl_OrderItems rnwhere day= '2013-08-01' and businesstypename like 'aaa%') as '1',rn(select count(*) rnfrom cpl_OrderItems rnwhere day= '2013-08-02' and businesstypename like 'aaa%') as '2',rn。。。。。。rn(select count(*) rnfrom cpl_OrderItems rnwhere day= '2013-08-31' and businesstypename like 'aaa%') as '31'rnrn该语句的查询结果只有一条记录共31个字段,为1-31号businesstypename字段以aaa开头的每天的记录数。这条语句只能查询以aaa开头的记录数,现在我想通过一条语句分别查询aaa开头的每天的记录数和bbb开头的每天的记录数,即查询结果有2条记录,该怎么写?请各位大侠指点!但愿我说明白了。。。。rnrnrn
count(*),count(1)和count(主键)的区别
count(*),count(1)和count(主键)的区别到底是什么,有谁能回答。谢谢
一个有关count()的查询语句,谢谢
需求:rn表table1,字段a和b和crna brn1 1rn2 1rn3 2rn4 2rn5 1rn6 2rn想统计出和b字段相等的记录数count1以及和b字段相等且a字段小于自己的记录数count2rn即:rna b count1 count2rn1 1 3 0rn2 1 3 1rn3 2 2 0rn4 2 2 1rn5 1 3 2rn
hive中count(*)、count(1)、count(某字段)的区别
最近看到某公司面试题有这个,顺便查了一下。count(*):所有行进行统计,包括NULL行count(1):所有行进行统计,包括NULL行count(column):对column中非Null进行统计我在集群找了一个表试了一下,结果差距不是很大,因为执行时间会受集群资源的影响,所以看下具体的执行步骤先看结果,count(*)执行时间26sselect count(*) from ods.baseo...
MySql查询语句之count函数中distinct的使用
在开发过程中遇到以下场景的sql查询,一个手机号代表一个用户,一个用户可以对车进行多次估价,每次估价在估价记录表中都会被记录,估价之后可以选择是否订阅,如果该用户之前订阅过就会在订阅表中将之前的数据覆盖掉,如果没有订阅过就会重新插入一条数据,所以在估价记录表中一个手机号可能会有多条订阅记录,所以在统计订阅用户数的时候就要根据手机号对其去重,subscribe_yn字段标识用户是否订阅,所以可以用s...
SQL Server 中COUNT(*) 与 COUNT(1)的区别
Count(1)和Count(*)实际上的意思是,评估Count()中的表达式是否为NULL,如果为NULL则不计数,而非NULL则会计数。 如果表的字段有索引,count(窄索引)会比count(宽索引)效率高!
MySql中count(*)和count(字段)的区别
兼容oracle,sqlserver,mysql数据库对null和’’(空)的不同处理的解决方法 /** * Oracle: 不区别对待 ''(空) 和 NULL,插入 '' 会自动转为 null * MySql: 插入的 NULL是 NULL,''(空)是 ''(空) * Sql server: 插入的 NULL 是 NULL,''(空)是 ''(空) ...
java中 count=count++;count值不变??!@!@!
public class e rn rn public e() rn // TODO Auto-generated constructor stubrn rnrn public static void main(String[] args) rn // TODO Auto-generated method stubrn int count=0;rn int num=0;rn for(int i=0;i<=100;i++)rn num=num+i;rn count=count++;rn System.out.println(count+"<--");rn rn System.out.println(num*count); rn rnrnrncount的值一直未0,为什么,求大神解答~~
oracle count(1) count(*) 的区别?
oracle count(1) count(*) 的区别?
SQL谈论:count(1)和count(*)
大家在编程的时候或多或少会遇到统计总数的sql,那么。count这个函数大家也是经常用到了。rn之前记得看过一片帖子说,count(1)会比count(*)快,理由很简单。我只对第一列进行统计。话说理论上应该是对的。可是实际中并不然。rn下面我举个例子、我自己的写的sql.为了数据的保密,我把表名更换了,大家见谅。rn[code=sql]select rn--* rncount(1)rnfrom tt where change_date>='2012-05-28' and change_date<='2012-08-28'[/code]rn数据量:28753rn结果是:1 row selected in 0.26 secs.rnrn第二个SQLrn[code=sql]select rn--* rncount(*)rnfrom tt where change_date>='2012-05-28' and change_date<='2012-08-28'[/code]rn数据量:28753rn结果是:1 row selected in 0.25 secs.rncount(*)比count(1)快了0.01secs。rn rnrn好,我在加大数据量试试。时间调至前一年。rnsql:[code=sql]select rn--* rncount(*)rnfrom tt where change_date>='2011-05-28' and change_date<='2012-08-28'[/code]rn数据量:82805rn时间结果:1 row selected in 0.31 secs.rnrnsql:[code=sql]select rn--* rncount(1)rnfrom tt where change_date>='2011-05-28' and change_date<='2012-08-28'[/code]rn数据量:82805rn时间:1 row selected in 0.26 secs.rnrn看来数据量大的时候count(1)性能会好点,好,继续加大数据量rnSQL:rn[code=sql]select rn--* rncount(1)rnfrom tt rn[/code]rn结果是:243511rn时间:1 row selected in 2.20 secs.rnrn[code=sql]select rn--* rncount(*)rnfrom tt[/code]rn结果是:243511rn时间:1 row selected in 0.12 secs.rnrnMB,中邪了。。。。本人测试的环境为:VM4xp db2 rn欢迎大家指三道四。[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/2.gif][/img]
关于count(*) 和count(id)的调优
从以前的博客中总结中的count(*) 和count(id)的区别就是:count(*)查询的是总条数,count(id)查询的是id非null的条数。 再实际开发过程中,需要查询符合某个查询条件的总条数时,这两个有很大的查询效率区别; 我开发过程中遇到了一个表有200多万条数据,需要查询某个条件的总条数时,对于上述两个细节的选择会产生很大的查询效率差异。 表中有id,status,comp...
Count(1)和Count(*)区别是什么?
rt.rnrn效率上有无太大差别.
count(*)和count(id)的效率问题
查询记录数一般都用count(*)的方法来查询rnrn我想知道,有个字段id,是自增长的。rncount(id)和count(*)的结果肯定是一样的。rnrn但是效率哪个会高一些呢?
DB2 count(*),count(1)区别
在网上看到,count(1)比count(*)效率高,就在db2上试了下。使用了60多万条数据,环境为AIX,rn表主键为符合主键。但仔细查看了执行计划,count(1)和count(*)耗费相同,求解。
count(*)与count(id)的速度问题
1> select count(*) from tablename rn2> select count(id) from tablenamernrn两条查询语句的速度差别挺大,总的数据量是20万条左右rnrn1> 的查询时间是0.78秒rn2> 的查询时间是0.17秒rnrn为什么有这么大的差别??rnrn那我应该用哪条语句?
mysql:Count(*)与Count(1)、Count(2)、Count(‘anything’)及Count(字段)区别
一:Count(*) 、Count(1)、Count(543)或者无论Count(‘anything’) 只要在Count中指定非NULL表达式,结果没有任何区别。因此当你指定Count(*) 或者Count(1)、Count(543)或者无论Count(‘anything’)时结果都会一样,因为这些值都不为NULL。 mysql5.7.23.0中实测: 数据表:     ...
浅谈count(普通列), count(*),count(1),count(index)和count(主键)执行效率
最近一仁兄,问到关于count(普通列), count(*),count(1),count(index)还有count(主键)执行效率,所以,今天抽个空,自己做个实验,测试测试不同的情况,我测试的思路是从执行计划上和运行时间这两方面入手,如有不正确之出,还敬请指出!! 首先确定的是: count(*)包括了所有的列,在统计结果时,不会忽略列值为NULL ; count(1)包括了所有列,用1...
oracle count(*) 与count(1) 的区别
求助:count(*) 与count(1)在oralce是怎样执行的,执行效率谁更甚。rnrn统计的表数据: 记录数1千万+ ,主键是32位字符UUID,表字段15列左右。
count(*)与count(1)区别何在?
count(*)与count(1)区别何在?rncount(*)与count(1)区别何在?
mysql count(列名)和count(*)的区别
不要使用 count( 列名 ) 或 count( 常量 ) 来替代 count( * ) , count( * ) 是 SQL 92 定义的标准统计行数的语法,跟数据库无关,跟 NULL 和非 NULL 无关。 说明: count( * ) 会统计值为 NULL 的行,而 count( 列名 ) 不会统计此列为 NULL 值的行...
count(*)和count(1)的区别是什么?
个人总结如下: 一、count(*)和count(1)查询速度 使用count函数,当要统计的数量比较大时,发现count(*)花费的时间比较多,相对来说count(1)花费的时间比较少。 1、如果你的数据表没有主键,那么count(1)比count(*)快 ;如果有主键的话,那主键(联合主键)作为count的条件也比count(*)要快 。 2、如果你的表只有一个字段的话那count(...
count(*) 和count(1)的效率差别
老问题了 想再确认一下
oracle中关于count(1)、count(*)、count(rowid)、count(某个字段)使用上的区别和性能问题
1.  count()是oracle中的聚合函数,用于统计结果集的行数。 2.  count(1)、count(*)、count(rowid)这三种使用方式的统计的行数量都会包括null行。 3.  count(某个字段)这种方式统计的行数不会包括字段值为null的值 4.  在表有主键的情况下,count(字段),这个字段是不是主键字段都会走主键索引的,这是oracle的优化选择。 5.
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法