美文网首页Sqlite
Android数据库SQLite(三)查询问题:取查询结果的第一

Android数据库SQLite(三)查询问题:取查询结果的第一

作者: 空白一页_blank | 来源:发表于2022-02-10 13:55 被阅读0次

    更详细问题请查看SQLite官方文档:SQLite文档

    1. 需求

    查询返回满足条件的第一条或者最后一条记录

    1. 数据源

    在这里插入图片描述
    1. 获取查询结果的第一条记录

    获取所有查询结果

    SELECT  * FROM student  where age>9 
    
    在这里插入图片描述

    (1)limit

    SELECT  * FROM student  where age>9  limit 1
    
    在这里插入图片描述
    注意:不能是limit 1,1(返回第二条),也不能是limit 0,0 (没有数据返回)

    (2)min(rowid)

    SELECT  min(rowid),* FROM student  where age>9  
    
    在这里插入图片描述
    问题:当使用order by 排序后,min(rowid)获取的数据不是符合条件的第一条,rowid是插入数据时,系统自动记录的id。对比下面两组查询结果 image 在这里插入图片描述
    1. 获取查询结果的最后一条记录

    max(rowid)

    在这里插入图片描述

    问题:同样max也有同样的问题,如果要排序的话,倒序然后通过limit获取第一条数据

    1. 代码解决

    那就是将查询结果全部返回,获取list的一个或者最后一个(不建议)
    能用sql解决的不用代码处理

    1. limit扩展

    用法:

    select * from tableName limit i,n
    

    参数:
    tableName : 为数据表;
    i : 为查询结果的索引值(默认从0开始);
    n : 为查询结果返回的数量

    排序问题

    Android数据库SQLite排序问题一:字符串类型的数值排序
    Android数据库SQLite排序问题二:含有空值的排序

    相关文章

      网友评论

        本文标题:Android数据库SQLite(三)查询问题:取查询结果的第一

        本文链接:https://www.haomeiwen.com/subject/nevnkrtx.html