码迷,mamicode.com
首页 > 数据库 > 详细

MYsql-3

时间:2016-07-11 01:16:50      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:mysql聚合函数、排序、分组、分页、判断

1、limit  分条查询数据

例如:

select * from student limit 0,3    //0表示从第几个开始(索引),3表示每次取几条

2、对字段进行条件判断 

   语法:case 字段名 when 条件 then 结果 end as 查询结果显示的字段名

例如:

select sname,
      case sex when 0 then ‘女‘
               when 1 then ‘男‘ end as nsex from student

3、排序(order by)

desc  降序排列

asc   升序排列

如果需要对汉字字段进行排序,需对该字段进行设置,案例如下:

select sname,s_sex,s_age from student order by convert(sname using gbk) asc;

    可以对多个字段进行排序

例如:select sname,s_sex,s_age from student order by s_age,convert(sname using gbk) asc;

如果s_age字段的值相同时,则按照第二排序字段指定的排序方式进行排序,

没有指定第二个排序字段时,则按照在记录中出现的先后顺序进行排序

4、分组查询(group by),一般会与聚合函数同时出现

max() 最大值

min() 最小值

sum()  求和

avg() 求平均数

count()  统计记录数


5、为字段定义别名,一般用于查询语句

  语法: select ono as 科目 from score;   //科目就是ono这个字段的别名,查询结果显示的也是科目

  例如:select ono as 科目, max(cscore) as 最高分,min(cscore) as 最低分,avg(cscore) as 平均分,sum(cscore) as 总分 from score group by ono;

11)虚拟条件查询(having) 

例如: select ono as 科目, max(cscore) as 最高分,min(cscore) as 最低分,avg(cscore) as

平均分,sum(cscore) as 总分 from score group by ono having avg(cscore)<75;


注意:如果一个查询语句中同时出现以下关键词,先后顺序如下:


where->group by->having->order by->limit

例如: select ono as 科目, max(cscore) as 最高分,min(cscore) as 最低分,avg(cscore) as 

平均分,sum(cscore) as 总分 from score group by ono having avg(cscore)>75 order by ono limit 1,2;

6、字符串截取

left(str,length)   //str表示被截取的字段名,length表示截取的长度,从字符串开始位置截取

right(str,length)   //str表示被截取的字段名,length表示截取的长度,从字符串结束位置截取

substring(str,position,length)  //str表示被截取的字段名,position表示开始截取的位置,从1开始,length表示截取长度

7、关于计算

select *,(gprice1-gprice) as lirun from goods where (gprice1-gprice)*gkucun>500;

注意:字段之间可以进行算术运算,如果参与运算的是字符串类型,那么该字符串会被当做0来处理


MYsql-3

标签:mysql聚合函数、排序、分组、分页、判断

原文地址:http://yjyan.blog.51cto.com/9291126/1822218

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!