SQLite数据库—select—group、distinct、limit、offset用法

1.GROUP BY对数据进行分组

SQLite的GROUP BY 子句用于与SELECT语句一起使用,来对相同的数据进行分组

在SELECT语句中,GROUP BY子句放在WHERE子句之后,放在ORDER BY子句之前。

 

用法:select 列名,列名 from 表名 group by 列名 order by 列名

 

例1:对CPU型号进行分组,并查询使用相同CPU的手机数(对CPU型号相同的信息合并)

  SELECT "CPU型号",count(*) FROM Content GROUP BY "CPU型号" ORDER BY count(*) desc

      count(*)表示记录次数

  

2:将CPU型号,蓝牙都相同的手机合并

SELECT "CPU型号","蓝牙",count(*) FROM Content GROUP BY "CPU型号","蓝牙"

 

在上例中发现CPU型号为空的手机数量很多,我们可以利用select查询CPU为空的手机的网页,在网页里查询是否数据收集过程中出现了失误

select 名称,cpu型号,PageUrl from Content where cpu型号='' order by 名称

 

2. DISTINCT获取唯一记录

用法:select distinct 列名 from 表名

 

由上图可以看出查询CPU型号会出现很多重复的数据,使用DISTINCT关键字可以合并重复数据

 

 例如:查询数据库中记录了多少种输入方式

select  DISTINCT  "输入方式"  from  Content

 

3. LIMIT限制select语句返回的数据量

例如:获取要查询信息的前6

 

4. OFFSET设置select查询的偏移量

例如:上图数据若想要第三行开始到第六行的数据(偏移量是2,返回的行数为4

 

5. select嵌套使用

例:查询手机名称,CPU型号及网站来源,要求选择CPU型号不为空且出现频率最高的前五种CPU,输出100行数据

命令:

select 名称,cpu型号,PageUrl from Content

where cpu型号 IN (SELECT  "CPU型号" FROM Content  where "CPU型号" <> '' GROUP BY "CPU型号"  ORDER BY count(*) desc LIMIT 5 )

ORDER BY CPU型号 limit 100;

 


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值