sqlte3 的基本使用4

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> 

 

posted @ 2016-07-03 20:42  努力,奋斗  阅读(523)  评论(0编辑  收藏  举报