SQLite基础学习 互动版

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

说明:

  SQLite 的having 子句允许指定条件来过滤将出现在最终结果中的分组结果。
  在 WHERE 子句在所选列上设置条件,而 HAVING 子句则在由 GROUP 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
8           honghong    17
9           liangliang  21
10          honghong    23

谨记:

  下面是各子句在 SELECT 查询中的位置:

SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY

语法:

  HAVING 子句必须放在 GROUP BY 子句之后,必须放在 ORDER BY 子句之前

SELECT column1, column2
FROM table1, table2
WHERE [ conditions ]
GROUP BY column1, column2
HAVING [ conditions ]
ORDER BY column1, column2

实例:

  显示所有重名的人,和重名人的个数:

sqlite> select NAME,  count(NAME) from student group by NAME having count(NAME) > 1;
NAME        count(NAME)
----------  -----------
honghong    3
liangliang  2
sqlite>
  1. 请找出所有不重名的人?