Java 如何从SQLite获取最近添加的三个数据
我想从SQLite获取最后三个数据 我已经查询了从SQLite数据库获取所有数据的日期和时间 但是我想得到最后三个数据查询是Java 如何从SQLite获取最近添加的三个数据,java,android,sqlite,Java,Android,Sqlite,我想从SQLite获取最后三个数据 我已经查询了从SQLite数据库获取所有数据的日期和时间 但是我想得到最后三个数据查询是 List<Company> companyList = new ArrayList<Company>(); String selectQuery = "SELECT * FROM " + COMPANY + " ORDER BY (" + KEY_CREATED_AT + ") DESC " ; 我只想获取最近添加的3个数据您可以在查询中使用l
List<Company> companyList = new ArrayList<Company>();
String selectQuery = "SELECT * FROM " + COMPANY + " ORDER BY (" + KEY_CREATED_AT + ") DESC " ;
我只想获取最近添加的3个数据您可以在查询中使用
limit
,它将返回n
(n
是您要获取的行数)行
只需在queryYou已经创建了date字段中使用limit。只要使用limit with order by created date desc.就可以使用任何其他技术来获取三个数据,比如使用for loop或任何东西,如果我获取所有数据以及所有这些for loop
List companyList 1=new ArrayList();对于(int i=companyList.size()-1;i>companyList.size()-4;i--){companyList.add(companyList.get(i))
第一次它得到3个数据,但现在这不起作用@ADMSqlite不能确保插入顺序。所以最终你必须根据使用循环还是限制来使用顺序。使用限制是正确的解决方案。所有结果将在一次查询中加载。如果你想在下一次调用中获得下3个数据,请使用关键字OFFSET。查看sqlite文档你可以保持这种方式。加载所有数据从来不是一个好的解决方案。分块加载数据(如果数据很大的话)使用LIMIT
和OFFSET
进行分页。是否可以使用其他技术获取三个数据,如用于循环或其他任何内容?如果我获取所有数据并添加for循环,以获取最后三个数据,如List companyList 1=new arrarylist();for(int i=companyList.size()-1;i>companyList.size()-4;i--){companyList.add(companyList.get(i))
第一次使用它,但现在它不起作用,所以如何使用它loop@MohammadAli如果您一次获得所有3行,那么您就有了列表列表。我不确定您为什么要迭代公司列表,以及公司列表的内容是什么?companyList
?它是否包含查询结果?您可以建议我使用limite3
我将获得我理解的3个数据,它已被完全使用,但与我在loop@AmitBera中获得的数据相同
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);
String selectQuery = "SELECT * FROM " + COMPANY + " ORDER BY (" + KEY_CREATED_AT + ") DESC LIMIT 3 " ;