用SQLite查询怎样实现group by?

adventurous 2012-01-04 06:06:40
如题,比如我从数据库中查找音乐列表,如果两个同名的音乐在不同文件夹中,会查出来两个一样的,怎样进行过滤呢,在query方法中怎样实现类似group by的查询?
...全文
367 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
adventurous 2012-01-06
  • 打赏
  • 举报
回复
所以这个查询没法实现,还没找到办法。
adventurous 2012-01-05
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 qizaodian 的回复:]

query方法里本身不就有个groupby参数吗?
[/Quote]
我说的是ContentResolve的query方法,如下
resolver.query(uri, projection, selection, selectionArgs, sortOrder);
在哪有groupby方法?
qizaodian 2012-01-05
  • 打赏
  • 举报
回复
query方法里本身不就有个groupby参数吗?
追风筝的孩子 2012-01-05
  • 打赏
  • 举报
回复
就上面这个例子而言,你得去看看它的provider是怎么写的。。getContentResolver().query里面的参数无非就是字符串凑成一个sql语句,你看看它是怎么凑的,再看看能不能在参数上额外加上groupby上去
adventurous 2012-01-05
  • 打赏
  • 举报
回复
这个有人知道吗,我的意思就是ContentResolver怎样实现group by查询。
adventurous 2012-01-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 a328240784 的回复:]

。。。得看你数据库是怎么设计的。。。
[/Quote]
比如查系统的媒体文件数据,如下
myCur = getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
new String[]{
MediaStore.Audio.Media.TITLE,
MediaStore.Audio.Media.DURATION,
MediaStore.Audio.Media.ARTIST,
MediaStore.Audio.Media.ALBUM,
MediaStore.Audio.Media.DISPLAY_NAME,
MediaStore.Audio.Media.ALBUM_ID,
MediaStore.Audio.Media.DATA,
MediaStore.Audio.Media._ID
追风筝的孩子 2012-01-04
  • 打赏
  • 举报
回复
。。。得看你数据库是怎么设计的。。。
1.建立C:\sqlite 目录,将解压的文件放入此文件夹中; 文件列表:2017-02-13 23:26 450,048 sqldiff.exe 2017-02-13 23:27 4,963 sqlite3.def 2017-02-13 23:27 845,402 sqlite3.dll 2017-02-13 23:27 701,952 sqlite3.exe 2017-02-13 23:27 1,974,784 sqlite3_analyzer.exe 2015-04-18 10:02 95,137 sqlite3命令方式操作大全.docx 2.添加系统环境变量, 在Path变量值后面添加 C:\sqlite;(英文分号不要忘记了) 3.命令行环境下即可运行sqlite3,运行后出现sqlite> 提示符 压缩包中内含:SQLite3命令操作大全(学习好助手!) 如:创建表: create table 表名(元素名 类型,…); 删除表: drop table 表名; 插入数据: insert into 表名 values(, , ,) ; 创建索引: create [unique] index 索引名on 表名(col….); 删除索引: drop index 索引名(索引是不可更改的,想更改必须删除重新建) 删除数据: delete from 表名; 更新数据: update 表名 set 字段=’修改后的内容’ where 条件; 增加一个列: Alter table 表名 add column 字段 数据类型; 选择查询: select 字段(以”,”隔开) from 表名 where 条件; 日期和时间: Select datetime('now') 日期: select date('now'); 时间: select time('now'); 总数:select count(*) from table1; 求和:select sum(field1) from table1; 平均:select avg(field1) from table1; 最大:select max(field1) from table1; 最小:select min(field1) from table1; 排序:select 字段 from table1 order by 字段(desc或asc) ;(降序或升序) 分组:select 字段 from table1 group by 字段,字段… ; 限制输出:select 字段 from table1 limit x offset y; = select?字段?from?table1 limit y , x; ......

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧