MAX:最大值
MIN:最小值
NMISS:缺失值个数
STD:标准差
SUM:求和
VAR:方差
2.9.1 求和sum
proc sql;
select Region, Product,Sales,Stores,
sum(Sales,Inventory,Returns) as total
from sashelp.shoes;
quit;
2.9.2 求均值avg
proc sql;
select Region, Product,Sales,Stores,
avg(Sales) as salesavg
from sashelp.shoes;
quit;
2.9.3 分组求均值group by
proc sql;
select Region,
avg(Sales) as salesavg
from sashelp.shoes
group by Region;
quit;
2.9.4 计数count
proc sql;
select Region,count(*) as count
from sashelp.shoes
group by Region;
quit;
2.9.5 HAVING数据子集
proc sql;
select Region,count(*) as count
from sashelp.shoes
group by Region
having count(*)>50;
quit;
其它的就不多作介绍了,多用用就熟悉了
2.10子查询
2.10.1 找出regions平均sales大于全部平均sales的region
proc sql;
select Region,
avg(Sales) as salesavg
from sashelp.shoes
group by Region
having avg(Sales)>
(select avg(Sales) from sashelp.shoes);
quit;
2.10.2 ANY关键词介绍
>ANY(20,30,40) 最终效果:>20
=ANY(20,30,40) 最终效果:=20 or =30 or =40
例如,选择出region为united state的sales小于任意region为africa的sales的数据
proc sql;
select Region,Sales
from sashelp.shoes
where Region='United States'
and Sales
(select Sales from sashelp.shoes where Region='Africa');
quit;
这个例子没有多少意义,只是说明一下any的用法
2.10.3 ALL关键词介绍
>ALL (20,30,40) 最终效果:>40
例如,选择出region为united state的sales小于所有region为africa的sales的数据
proc sql;
select Region,Sales
from sashelp.shoes
where Region='United States'
and Sales
(select Sales from sashelp.shoes where Region='Africa');
quit;
2.10.4 EXISTS与NOT EXISTS
proc sql;
select *
from sashelp.shoes
where exists
(select * from sashelp.orsales);
quit;