【问题标题】:How to get recent added three data FROM SQLite如何从 SQLite 获取最近添加的三个数据
【发布时间】:2018-10-01 11:07:27
【问题描述】:

我想从 SQLite 获取最后三个数据

我已经查询了从 SQLite 数据库中获取所有数据的日期和时间

但我想获取最后三个数据查询是

List<Company> companyList = new ArrayList<Company>();
String selectQuery = "SELECT  * FROM " + COMPANY + " ORDER BY (" + KEY_CREATED_AT + ") DESC " ;

听说我正在获取数据:

companyList = myComDb.getAllCompany();
        companiesAdapter = new CompaniesAdapter(companyList);
        companiesAdapter.setClickListener(companyListItemClickListner);
        RecyclerView.LayoutManager mLayoutManager1 = new LinearLayoutManager(getActivity().getApplicationContext());
        rvCompanies.setLayoutManager(mLayoutManager1);
        rvCompanies.setItemAnimator(new DefaultItemAnimator());
        rvCompanies.setAdapter(companiesAdapter);

我只想获取最近添加的 3 条数据

【问题讨论】:

  • 只在查询中使用限制
  • 您已经创建了日期字段。只需使用按创建日期描述的订单限制即可。
  • 任何其他技术都可以获取三个数据,例如使用 for 循环或任何东西如果我获取所有数据和所有这些 for 循环 List&lt;Company&gt; companyList1 = new ArrayList&lt;&gt;(); for(int i = companyList.size()-1; i&gt;companyList.size()-4; i-- ) { companyList1.add(companyList.get(i)); 第一次它获取 3 个数据但现在这不起作用@ADM
  • Sqlite 不保证插入顺序。因此,最终您必须通过使用循环或限制来使用顺序。使用限制是正确的解决方案。所有结果将仅在单个查询中加载。如果您想在下一次调用中获取下一个 3 数据,请使用关键字 OFFSET 。查看 sqlite 文档。
  • 你可以保持这种状态。加载所有数据从来都不是一个好的解决方案。使用LIMITOFFSET 分页加载数据块(如果它很大)。

标签: java android sqlite


【解决方案1】:

您可以在查询中使用limit,这将返回nn 是您要获取的行号)行。

String selectQuery = "SELECT  * FROM " + COMPANY + " ORDER BY (" + KEY_CREATED_AT + ") DESC LIMIT 3 " ;

【讨论】:

  • 任何其他技术可以像使用 for 循环或任何其他技术来获取三个数据吗?如果我获取所有数据并添加 for 循环以获取像这样的最后三个数据 List&lt;Company&gt; companyList1 = new ArrayList&lt;&gt;(); for(int i = companyList.size()-1; i&gt;companyList.size()-4; i-- ) { companyList1.add(companyList.get(i)); 第一次得到但现在它不起作用所以我如何使用 for 循环
  • @MohammadAli 如果您一次获得所有 3 行,那么您将获得 List 的列表。我不确定您为什么要迭代 companyList 以及公司列表的内容是什么? companyList?是否包含查询结果?
  • 你可以建议我使用 limite 3 我将获得 3 个我理解的数据,它使用完整但我使用 for loop @AmitBera 获取数据的数据相同
猜你喜欢
  • 2016-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-02
  • 1970-01-01
  • 2021-11-28
  • 1970-01-01
  • 2011-03-08
相关资源
最近更新 更多