SQLite基础学习 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

说明:

  SQLite 的GROUP BY 子句用于与 SELECT 语句一起使用,来对相同的数据进行分组。
  在 SELECT 语句中,GROUP BY 子句放在 WHERE 子句之后,放在 ORDER BY 子句之前。


  假设有如下表:

ID          NAME        AGE
----------  ----------  ----------
1           xiaoming    18
2           xiaohua     18
3           mingming    19
4           xiaogang    20
5           honghong    17
6           liangliang  21
7           tingting    23

语法:

  可以在 GROUP BY 子句中使用多个列。确保您使用的分组列在列清单中。

SELECT column-list
FROM table_name
WHERE [ conditions ]
GROUP BY column1, column2....columnN
ORDER BY column1, column2....columnN;

实例:

  为了测试,需要再插入几条数据:

sqlite> insert into student values(8, 'honghong', 17);
sqlite> insert into student values(9, 'liangliang', 21);
sqlite> insert into student values(10, 'honghong', 23);
sqlite> select  * from student;
ID          NAME        AGE
----------  ----------  ----------
1           xiaoming    18
2           xiaohua     18
3           mingming    19
4           xiaogang    20
5           honghong    17
6           liangliang  21
7           tingting    23
8           honghong    17
9           liangliang  21
10          honghong    23

  显示相同名字的人数和相应的名字:

sqlite> select NAME,  count(NAME) from student group by NAME;
NAME        count(NAME)
----------  -----------
honghong    3
liangliang  2
mingming    1
tingting    1
xiaogang    1
xiaohua     1
xiaoming    1

与order by一起使用:

sqlite> select NAME,  count(NAME) from student group by NAME order by count(NAME);
  1. 请说明下面语句的意义? select NAME, count(NAME) from student group by NAME order by NAME;