DISTINCT去重 格式:select DISTINCT 字段1,字段2... from 表名 筛选条件 例如:select distinct name from student; 例如:select distinct name,age from student; 注意:字段必须放在distinct后面 多字段时,以字段组合在一起的结果进行去重
as取别名:把查询到的结果,显示的名称进行更改和使用 格式:结果 as 名称 注意:as 可以不写
count统计行数 格式:count(列名) 例如:select count(*) from student; 例如:select count(name) from student; 注意:单独查询一列时,null不参与统计 count()不能写在where子句
格式:sum(列名); 例如:select sum(age) from student; 注意:只能对数字的列进行求和,对没有数字的列求和不会报错,但是结果为0 列中有null,不会影响计算结果 sum()不能写在where子句
格式:avg(列名); 例如:select avg(age) from student; 注意:只能对数字的列进行求和 列中有null,不会影响计算结果 avg()不能写在where子句
格式:max() 例如:select max(name) from student; 注意:可以对varchar的列进行获取 列中有null,不会影响计算结果 max/min不能写在where子句
concat多字段进行拼接显示,不会将值累加 格式:concat(字段,字符串,...) 例如:select concat(name,",",sex) from student;
+拼接求和 上面标识拼接,下面值求和 例如:select age+'20' from student; 名字会显示为age+'20' 结果每一个数据都进行+20
保留整数 格式1:round(值) 指定保留几位小数 格式2:round(值,保留几位小数) 注意:只计算小数点后第一位
格式:rand()
注意:产生的随机数范围在0-1之间
100以内的随机数
order by排序 格式:order by 字段,字段...; asc升序 desc降序 注意:默认是升序的
group by分组 格式:group by 字段,字段...; 例如:select max(age),sex from student group by sex; 注意:分组之后select显示的结果,分了几组就显示几条 分组过程中把相同组的数据聚合到了一起,所以分组和聚合函数一起使用
having:筛选 例如:select count(*) as count from student group by sex where count<6;--不好使 select count(*) as count from student group by sex having count<6; having和where区别 where先筛选之后再产生结果,不能使用产生的结果作为条件 having先产生结果之后在进行筛选,能使用产生的结果作为条件
DISTINCT去重 格式:select DISTINCT 字段1,字段2... from 表名 筛选条件 例如:select distinct name from student; 例如:select distinct name,age from student; 注意:字段必须放在distinct后面 多字段时,以字段组合在一起的结果进行去重 as取别名:把查询到的结果,显示的名称进行更改和使用 格式:结果 as 名称 注意:as 可以不写 聚合函数: count统计行数 格式:count(列名) 例如:select count(*) from student; 例如:select count(name) from student; 注意:单独查询一列时,null不参与统计 count()不能写在where子句 sum求和 格式:sum(列名); 例如:select sum(age) from student; 注意:只能对数字的列进行求和 列中有null,不会影响计算结果 sum()不能写在where子句 avg求平均值 格式:avg(列名); 例如:select avg(age) from student; 注意:只能对数字的列进行求和 列中有null,不会影响计算结果 avg()不能写在where子句 max/min求最大最小值 格式:max() 例如:select max(name) from student; 注意:可以对varchar的列进行获取 列中有null,不会影响计算结果 max/min不能写在where子句 concat多字段进行拼接显示 格式:concat(字段,字符串,...) 例如:select concat(name,",",sex) from student; +拼接和求和 例如:select age+'20' from student; 名字会显示为age+'20' 结果每一个数据都进行+20 时间函数 select current_timestamp, current_timestamp(); (日期转换为字符串)函数:date_format(date,format) select date_format(current_timestamp(),"%Y-%m-%d"); (字符串转换为日期)函数:str_to_date(str, format) select STR_TO_DATE("2020-01-01","%Y-%m-%d"); 日期相减函数:datediff(date1,date2) select DATEDIFF(STR_TO_DATE("2021-01-01","%Y-%m-%d"),STR_TO_DATE("2020-01-01","%Y-%m-%d")) DATE_ADD() 函数向日期添加指定的时间间隔。 select DATE_ADD(STR_TO_DATE("2021-01-01","%Y-%m-%d"),INTERVAL -5 day); round() 四舍五入 保留整数 格式1:round(值) 指定保留几位小数 格式2:round(值,保留几位小数) 注意:只计算小数点后第一位 floor()向下取整 格式:floor(值) rand()随机数 格式:rand() 注意:产生的随机数范围在0-1之间 order by排序 格式:order by 字段,字段...; asc升序 desc降序 注意:默认是升序的 在查询过程中form->where->order by->limit->select 求TopN select * from student order by age limit 3; group by分组 格式:group by 字段,字段...; 例如:select max(age),sex from student group by sex; 注意:分组之后select显示的结果,分了几组就显示几条 分组过程中把相同组的数据聚合到了一起,所以分组和聚合函数一起使用 having:筛选 例如:select count(*) as count from student group by sex where count<6;--不好使 select count(*) as count from student group by sex having count<6; having和where区别 where先筛选之后再产生结果,不能使用产生的结果作为条件 having先产生结果之后在进行筛选,能使用产生的结果作为条件 求简单TopN select * from student order by age limit 3; 分组求TopN Top1:select max(age),sex from student1 group by sex; Top3:select * from student1 s where (select count(age) from student1 where student1.sex=s.sex and student1.age >s.age)<3;
java
java入门基础学习(一)
java入门基础学习(二)
java入门基础学习(三)
java入门基础学习(四)
java入门基础学习(五)
java入门基础学习(六)
java入门基础学习(七)
java入门基础学习(八)
java入门基础学习(九)
java入门基础学习(十)
java入门基础学习(十一)
java入门基础学习(十二)
java入门基础学习(十三)
java入门基础学习(十四)Maven Git
java总结,题目+笔记
java进阶之常见对象(一)
java进阶之常见对象(二)
java进阶之冒泡排序
java进阶之选择排序
java进阶之面向对象(封装)
java进阶之面向对象(代码块、继承)
java进阶之面向对象(多态、抽象、接口)
java进阶之匿名内部类、访问修饰符、包
java进阶之io流(字节流,字符流)
Linux
Linux基础一
Linux基础二
Mysql
mysql一