我们在使用MySQL数据库进行查询时,有的时候不单单是一个简单的select * from + 表名就能够完成我们想要的某个功能的。下面小编就记录了几种常用的查询方式。
一、聚合函数
1.聚合函数的分类
聚合函数名称 | 作用 |
---|---|
count | 统计数量 |
max | 找最大值 |
min | 找最小值 |
avg | 求平均值 |
sum | 求和 |
2.基本格式
select+聚合函数+(字段)+form+表名;
3.使用说明
例如:我需要统计字段courseid的数量:
select count(courseid) form course;
4.注意事项
当我们使用聚合函数查询时,聚合函数是不会计算null值的;
二、分组查询
1.基本格式
select + 字段+from+表名+group by +字段;
2.使用说明
例如:我们需要将courseid字段以分组的形式查询呈现出来:
select courseid from course group by courseid;
3.说明
一般在使用分组查询时,不单单只使用分组查询,会联合其他的查询一起使用。因为只使用分组查询的效果它仅仅只能够展示出种类,而没有任何其他的结果;但是我们在日常使用分组的过程中又不仅仅只使用分组,因此它经常与其他查询一起使用。
例如,在这里我们就将分组查询联合聚合函数一起使用:
我们需要统计不同courseid的数量
4.进阶分组查询
其实我们在使用分组查询的时候,也经常要按照某一个条件进行筛选。接下来就让小编展示如何筛选分组查询吧。分组查询的基本格式是 select + 字段+from+表名+where+条件字段=条件字段值+group by +字段 +havinig +分组后的过滤条件。例如接下来就展示一下如何筛选出上图分组后count(*)值大于1的数据。
不过,这里还有一点需要注意的是,在这种查询方式中, where的条件是在分组查询之前,而having的条件则是在分组查询之后起作用。
三、排序查询
1.排序种类
名称 | 作用 |
---|---|
asc | 升序 |
desc | 降序 |
2.基本格式
select *form +表名+order by +字段1+排序种类1+字段2+排序种类2;
(说明:当我们使用多个字段按不用顺序排序时,首先是按照字段顺序排序,再依次按照后面顺序排序;)
3.使用示例
例如:我们要将courseid字段按升序查询:
select * from course order by courseid asc;
又例如,我们想要将上图先按照courseid的升序再按照学号降序进行排序:
四、分页查询
1.基本格式
select * from +字段+liimit+页数,每一页数量;
2.使用示例
例如:我们要将表course中数据按每页10行数据显示:
select * from course limit 0,10;
五、条件查询
1.基本格式
select * from +表名 +where+条件字段=条件字段值
2.使用示例
例如:我们想要查询courseid字段中值为cc001的行:
select * from course where courseid='cc001';