接上一篇MySQL数据库查询SQL语句总结http://blog.csdn.net/u010377383/article/details/54928339;在此继续是单表查询的,主要有:
聚合查询、分页查询、查询排序、分组查询
下面是各个查询的详细语句和解释:
/* 7、聚合查询(使用聚合函数的查询) 常用的聚合函数:sum()求和函数 avg() max() min() count() 需求查询所有员工的总奖金 */ SELECT SUM(bonus) FROM ssh_employee; /*统计所有员工的平均工资*/ SELECT avg(salary) FROM ssh_employee; /*查询工资最高的分员工*/ SELECT max(salary) FROM ssh_employee; /*查询工资最低的分员工*/ SELECT min(salary) FROM ssh_employee; /*统计公司员工人数*/ SELECT count(*) FROM ssh_employee; /*8、分页查询 (LIMIT(起始行,查询记录数)) 需求查询1、2条记录 */ SELECT * FROM ssh_employee LIMIT 0,2; /*需求查询3、4条记录*/ SELECT * FROM ssh_employee LIMIT 2,2; /*9、查询排序(ORDER BY) 默认情况下,按照记录插入的顺序排序 语法:ORDER BY 字段 ASC/DESC ASC:顺序(递增)例子:1,2,3或a,b,c DESC:倒序(递减)例子:3,2,1或c,b,a */ SELECT * FROM ssh_employee ORDER BY LAST_NAME ASC;/*正序*/ SELECT * FROM ssh_employee ORDER BY LAST_NAME ASC; /*倒序*/ /* 多排序条件下的排序: 需求按照工资的正序,奖金的倒序 执行结果分析:排序会按照第一个条件进行排序,如果存在相同的数据时,若无后续排序条件, 则按照默认的插入顺序排列,若有后续条件。则按照后续条件进行排列。依次类推。 */ SELECT * FROM ssh_employee ORDER BY salary ASC,bonus DESC;/* 10、分组查询(GROUP BY) 需求查询来自省市的员工人数 预期结果: 上海 1人 北京 1人 重庆 2人*/ SELECT address,COUNT(*) AS '人数' FROM ssh_employee GROUP BY address; /* 分组查询后筛选(分组后筛选用having,分组前筛选用where) 需求获取人数为 1 的地区 */ SELECT address,COUNT(*) AS '人数' FROM ssh_employee GROUP BY address HAVING COUNT(*)=1;
新闻热点
疑难解答