몇 가지 중요한 키워드 곳 + 제한에 의해 + 순서를 가진 +로 + 그룹

여기서, 
데이터가 하드 디스크로부터 판독되는 필터 조건

지지체가도 1 오퍼레이터에 도시 된

선택 프로세스
인덱스의 비교의 부재 저효율 하나는
우리가 테이블에 대한 인덱스를 추가해야

에 의해 그룹 
에 데이터 패킷의 역할
왜 그룹? 당신이 그룹 생활하려는 이유에 대해 생각해
1. 생활의 관리를 용이하게하기 위해서이다
에서 통계 데이터베이스 2. 목적

데이터가 준비
테이블 EMP (아이디 INT, 이름 생성 CHAR (10), 섹스 문자, 부서의 문자 (10), 작업 문자를 ( 10), 더블 급여)
. INSERT INTO EMP 값 (1, "베이", "M", "시장 ','감독 ', 5800),
(2,"장 ","M ","시장 "," 직원 ", 3000),
(3,"관우 ","M ","시장 ","직원 ", 4000),
(4,"손권 ","M ","관리 ","이사 ", 6000)
(5, "주유", "M", "관리", "직원", 5000),
(6, "리틀 조", "여성", "관리", "직원", 4000),
(7, "카오 카오 ","남자 ","





1.sql_mode 새 버전이 ONLY_FULL_GROUP_BY를 함께 제공하므로 이해가되지 않는 각 그룹의 첫 번째 기록을 보여 ONLY_FULL_GROUP_BY 설정하지
ONLY_FULL_GROUP_BY 직접적인 오류를 설정했습니다 2.sql_mode
* 모든 필드 그룹화 한 후 표시해야하지만 세부 사항이 기록 의미 : 때문에 숨겨진, 떠나는 만
이 의미 만에 필드의 뒤쪽에 의해 그룹에 표시 것으로 보인다
패킷 데이터는 어떻게 계산 알아 내기 위해 한 패킷?
집계 기능은 필요


기능 응집 :
데이터 획득하기 위해 계산 된 데이터의 더미
합 () 합
AVG () 평균
최대 () / 분 ()의 최대 값을 선택 / 최소
개수 () 번호


2. 질의 각 부서 ⻔ 문이 익숙한 여러 얻을 인물 사람들
부서에 의해 EMP 그룹에서 [선택] 부서, COUNT (*)를,

각 단위 3. 계산 평균의 ⻔ 문 ⼯ 임금
EMP 그룹에서 선택 평균 (급여) 부서로는,

어떤 시간을 요약 만큼 당신이 필요한 각 워드 그룹과 수요의 그룹화를 사용하여 필요에 따라
각 성 각 부서의 각 작업에 대해

5. 쿼리 평균 ⼯ 임금5000보다 크게 확대 된 부분
; AVG 그룹 부서 그래피 (급여)> 5000 EMP에서 AVG (급여)을 선택
집합 함수 나중에 문 사용될 수 없다
EMP로부터 선택 AVG (급여)

조건이 사용될 수 없다 요약 여기서 상기 필터링 된 데이터 패킷


문자열로 함께 의지 그룹을 그룹화 특정 필드에 대한 GROUP_CONCAT
에서 선택 부서, GROUP_CONCAT (이름) 부서에 의해 EMP 그룹,

사실, 의미가 왜 부족? 왜 그룹 하시겠습니까? 통계 자료를 들어 당신은 필요 그룹화하지 포함되지 않는 경우



having
用于对分组后的数据进行过滤
having不会单独出现 都是和group by 一起出现

与where的区别
相同点: 都用于过滤数据
不同点:
1.where是最先执行 用于读取硬盘数据
having 要等到数据读取完之后 才能进过滤 比where晚执行
2.where中不能使用聚合函数
having中可以

需求:
5.查询平均⼯工资⼤大于5000的部
select dept,avg(salary) from emp group by dept h0aving avg(salary) > 500;

6.查询工资最高的人的姓名和他的工资
需要用到子查询

是什么 干什么 怎么用?


order by [desc,asc]
用于对记录进行 排序

desc为降序
asc为升序

按照工资的从低到高顺序 显示所有的员工
select *from emp order by salary;
默认为升序

修改为降序
select *from emp order by salary desc;

按照每个部门的平均工资 降序排序
select dept,avg(salary) from emp group by dept order by avg(salary) desc;


limit *******
用于限制显示的条数
limit [start,]count

# 看看表里前三条数据
select *from emp limit 3;

# 看看表里的3-5条
select * from emp limit 2,3;

# 查看工资最高的那个人的信息
select *from emp order by salary desc limit 1;

limit 常用于 数据的分页展示 比如腾讯新闻 的上拉加载新的而一页
select *from emp limit 0,10; 第一页 页数 减1 乘以条数 得到起始位置
select *from emp limit 10,10; 第2页
select *from emp limit 20,10; 第3页

추천

출처www.cnblogs.com/1832921tongjieducn/p/11128893.html