mysql数据库查询SQL语句总结(二)

接上一篇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;



你可能感兴趣的:(MySQL)