Mysql 数据库 普通查询

Mysql 数据库 普通查询_第1张图片

1、分组 执行顺序 【2】 在where 条件后执行

  • 格式

group by 字段(必须为 select 的原始字段)
不能为 聚合函数字段

  • 示例
'计算每个国家的平均攻击力'
select country , avg(attack) from sanguo group by country;

2、聚合函数 执行顺序 【3】 在分组后面

  • 格式

avg(字段名) ---------------该字段的平均值
max(字段名) --------------该字段的最大值
min(字段名) ---------------该字段的最小值
sum(字段名) --------------该字段所有记录的和
count(字段名) -------------统计该字段记录的个数

  • 示例
'找出表中的最大攻击力的值'
 select max(attack) from sanguo;
'表中共有多少个英雄'
select count(name) as number from sanguo where country="蜀国";

3、having 执行顺序 【4】 在where和 分组与聚合后

对分组聚合后的结果进行进一步筛选

  • 格式

having 条件语句 (与where类似)
可以使用 聚合字段

  • 示例
'找出平均攻击力大于105 having avg(attack)>105 的国家的前2名,显示国家名称和平均攻击力'
select country, avg(attack) as avg from sanguo 
group by country 
having avg > 105  '筛选 平均攻击力 > 105的国家'
order by avg desc 
limit 2; 

4、order by 执行顺序 【5】 排序 在limit之前

  • 格式

order by 字段 ASC/DESC 升序/降序
可以使用 普通字段、聚合字段

  • 示例
'查询成绩从高到低排列'
select * from students order by score DESC;

5、order by 执行顺序 【6】 排序 最后

  • 格式

limit n :显示前n条
limit m,n :从第(m+1)条记录开始,显示n条

  • 示例
'显示前2条'
select * from students order by score DESC limit 2;

你可能感兴趣的:(MySql)