create table student(name varchar(15),gender varchar(15));
insert into student(name,gender) values("lilei","male");
insert into student(name,gender) values("lilei","male");
select * from student;
select name as "姓名",gender as "性别" from student;
select name as n ,gender from student where name ="lilei";
-- select name as n ,gender from student where n ="lilei"; --报错
select name as n ,gender from student having n ="lilei";
group by 子句:
group by 可以将查询结果依据字段来将结果分组 。
语法:select 字段列表 from 表名 group by 字段;
【字段可以有多个,实际就是二次分组】
-- 示例
select name,gender,count(name) as "组员" from student as d group by name;
select name,gender,count(name) as "组员" from student as d group by name,gender;
补充:
实际上,group by 的作用主要是统计(使用情景很多,比如说统计某人的总分数,学生中女性的数量 。 。),所以一般会配合一些统计函数来使用:
语法:select 字段列表 from 表名 having 条件;【操作符之类的可以参考where的,增加的只是一些“内存”中的筛选条件】
-- 示例
select name as n ,gender from student having n ="lilei";
select name,gender,count(*) as "组员" from student as d group by name,gender having count(*) >2 ;-- 这里只显示记录数>2的分组
-- 示例
select * from student limit 1;
select * from student limit 3,1;
select * from student where name ="lilei" limit 1;
select * from student where name ="lilei" limit 3,1;