sqlte3 的基本使用4

时间:2021-06-04 13:41:11

sqlite 的order by 语句是用来对数据进行升序降序排序的,asc 是升序,des 是降序

sqlite> select * from student;
id name age
---------- ---------- ----------
2 bb 12
3 cc 22
1 abcdef 56
4 bb 21
sqlite> select * from student order by name;
id name age
---------- ---------- ----------
1 abcdef 56
2 bb 12
4 bb 21
3 cc 22
sqlite>
sqlite> select * from student order by age desc;
id name age
---------- ---------- ----------
1 abcdef 56
3 cc 22
4 bb 21
2 bb 12
sqlite>

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

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

sqlite> select * from student;
id name age
---------- ---------- ----------
2 bb 12
3 cc 22
1 abcdef 56
4 bb 21
sqlite> select * from student where id>0 group by name order by name;
id name age
---------- ---------- ----------
1 abcdef 56
4 bb 21
3 cc 22
sqlite>

HAVING 子句允许指定条件来过滤将出现在最终结果中的分组结果。

WHERE 子句在所选列上设置条件,而 HAVING 子句则在由 GROUP BY 子句创建的分组上设置条件。

sqlite> select * from student where id >0 group by name having count(name)>1;
id name age
---------- ---------- ----------
4 bb 21
sqlite>