Android Sqlite-如何使用Union全部组合查询



使用Android SQLite,并希望执行两个查询并结合结果。如果对组合结果进行分类,则一切正常。但是我希望每个查询的排序顺序分开,然后结合结果。

这是我从SQL中找到的:与Union,订购和限制的选择,并在http://sqlfiddle.com/#!5/98b6d/16上验证了查询。

select * from (select * from supportContacts where (id=1) order by id asc)
UNION ALL
select * from (select * from supportContacts where (id!=1) order by RANDOM())

但是,我将如何在Android SQLite ContentResolver.query()上执行此查询,或使用rawQuery有任何方法。

注意:我正在使用此查询来获取MediaStore.EXTERNAL_CONTENT_URI媒体提供商的所有音频文件,但我知道音频文件的ID,因此我的第一个查询只会获得单个音频,第二个查询将获得所有音频不包括已知的音频ID。

您可以使用sqlitequerybuilder的buildunionquery方法。

有关更多详细信息,请检查以下链接https://developer.android.com/reference/android/database/sqlite/sqlitequerybuilder.html#buildunionquery(java.lang.string [],java.lang.stringDiv>

最新更新