美文网首页
记录一次SQL排序问题

记录一次SQL排序问题

作者: 桃先森_ | 来源:发表于2021-03-09 15:28 被阅读0次

背景:接口返回2000条左右排序好的id,Android按接口返回的进行查询并展示;

正文:

数据库管理工具用的GreenDao,因为android对sql查询参数长度有限制,所以将返回集进行分割,每个不超过1000,这是第一个
一开始用 INSTR ,发现还是有乱序后来用FROM子查询解决

直接上菜

关键sql:

select * FROM (select 'a'||id orderstr, * from table)  WHERE id in(109,108,113,134) 
ORDER BY  INSTR ('a108,a109,a113,a134,orderstr)

使用FROM后的子查询,在加上在id前拼接“a”,防止乱序

GreenDao怎么使用呢?

Cursor cursor = session.getDatabase().rawQuery(sql, null);
拿到cursor对象进行do while进行循环拿值

 /**
     * @param cursor 根据游标cursor获取所有集合
     * @return
     */
    private List<Bean> loadAllFromCursor(Cursor cursor) {
        List<Bean> queryList = new ArrayList<>(cursor.getCount());
        if (cursor.moveToFirst()) {
            do {
                queryList.add(parse(cursor));
            } while (cursor.moveToNext());
        }
        return queryList;
    }

 /**
     * @param cursor 根据游标转换对象
     * @return
     */
    private Bean parse(Cursor cursor) {
        return new Bean(getCursorDate(cursor, "name"));
    }

 /**
     * 获取游标内某一列值
     *
     * @param cursor
     * @param columnName 
     * @return
     */
    private String getCursorDate(Cursor cursor, String columnName) {
        return cursor.getString(cursor.getColumnIndex(columnName));
    }

结束

相关文章

  • 记录一次SQL排序问题

    背景:接口返回2000条左右排序好的id,Android按接口返回的进行查询并展示; 正文: 数据库管理工具用的G...

  • 谈谈排序的设计

    在软件开发中记录排序问题是个常见问题,也是个很重要的方面。但在开发人员的角度而言,排序似乎只是SQL语句的一个延伸...

  • 结果集排序问题

    结果集的排序分为以sql排序还有就是需要使用集合Collections方法进行排序一、sql排序sql排序分为升序...

  • 开发问题纪录

    sql排序分页查询的问题 本次在一次简单的sql查询中,发现了一个很特别的问题。场景:在数万条数据中需要按创建时间...

  • 外部排序和多路排序

    外部排序: 一、定义问题 外部排序指的是大文件的排序,即待排序的记录存储在外存储器上,待排序的文件无法一次装入内存...

  • MybatisPlus SqlServer OFFSET 分页问

    问题 使用mybatis-plus 分页时,需要对sql语句进行排序

  • Python经典排序算法

    排序:内部和外部 内部排序:数据记录在内存中进行排序。外部排序:排序的数据很大,一次不能容纳全部的排序记录,在排序...

  • 第十章 SQL排序(二)

    第十章 SQL排序(二) 查询排序 InterSystems SQL提供了排序规则功能,可用于更改字段的排序规则或...

  • 分页排序查询出现重复字段

    当sql查询操作使用order by 排序再进行limit分页时会出现重复问题原因是order by排序不稳定每次...

  • 第十章 SQL排序(一)

    第十章 SQL排序 排序规则指定值的排序和比较方式,并且是InterSystems SQL和InterSystem...

网友评论

      本文标题:记录一次SQL排序问题

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