group by
--
使用
group by
語句查詢
select count(studName) from student_1 group by study
select count(uname) from userluo group by age;
?
?
根據某一個字段進行分組
select age,count(*) from userluo group by age;
select uname,count(*) from userluo group by uname;
?
?
矛盾。。。。。
?
盡管
deptno
和
deptname
是一一對應的,但
group by
不知道。。。按照語法來檢查。。。
?Group by
后面也可以有多個字段,但是要求和前面一致。。。。。。。。
?
?
?
--
單列分組
--
顯示每個部門的平均工資和最高工資
Select deptno,avg(sal),max(sal) from emp
group by deptno;
?
--
多列分組
--
顯示每個部門、每種崗位的平均工資和最高工資
Select deptno,job,avg(sal),max(sal) from emp
group by deptno,job;?--
注意:
deptno
和
job
完全相同才顯示一條記錄。
?
?
?
?
?
Having
和
group by
配套使用。。。
可以在
group
分組以后再過濾,
select age,count(*) from userluo group by age having count(*)<2;
--
使用
having
語句
select trim(studName),count(*) from student_1 group by trim(studName) having count(*)=2;
select count(*) studName from student_1 group by studName having count(*)=2;
?
order by
--
使用
order by
語句
,desc
是降序排列,
asc
是升序排列
,
默認為升序排列
select * from student_1 order by age desc;
select * from student_1 order by age sname desc;
先按
age
排列,相同的
age
再按
sname
排列,