sas分组计数_SAS读书笔记:SQL

0684b048b33971791b6a4dc6276f516d.png

1.SQL语言概述

38eae72978d7755aaffeceb1b6a1f58a.png
SAS术语与SQL术语的区别

SQl语言在SAS中通过PROC SQL来实现。PROC SQL可实现以下功能:

  • 制作报表与表;
  • 生成一些统计性数据;
  • 合并表;
  • 从其它表中抽取部分行、列;
  • 更新表的行、列;
  • 从其它数据管理系统(DBMS)中更新或抽取数据。

2.使用SQL检索数据

2.1 SQL的基本结构

PROC SQL;
    SELECT 表1.列1 , 表1.列2 ,```
    FROM 表1
    <WHERE>
    <GROUP BY>
    <ORDER BY>;
QUIT;

2.2 使用SQL对列进行操作

从句SELECT选择所需要的列,语法如下:

SELECT 表名称.列1 , 表名称.列2 ,···

在不混淆的情况下,表名称可以省略。SELECT从句中,表名称前不加库名,库名由FROM指定。

使用AS对列重命名,也可以重新定义属性,语法如下:

SELECT 表名称.列1 AS 新名称 FORMAT=  LABEL= ,表名称.列2 ···

还可以生成新的列,如下生成新列tax:

PROC SQL;
TITLE "Generating a new column";
select cars.Make,cars.Model,cars.MSRP,cars.msrp*0.06 as tax 
from sashelp.cars;
quit;
注意SELECT从句中列的先后顺序决定了输出报表中他们的输出顺序

2.3 使用SQL对行进行操作

1.DISTINCT关键字

不输出重复的行,紧跟在SELECT之后,一个SELECT从句只能有一个。

SELECT DISTINCT 表名称.列1 , 表名称.列2 ,···

2.WHERE从句

proc sql;
select make ,model,msrp,msrp*0.06 as Tax
    from sashelp.cars
where msrp<=40000;
quit;

如果针对新生成的列,则需要使用calulated

proc sql;
select make ,model,msrp,msrp*0.06 as Tax
    from sashelp.cars
where calculated t ax<=2400;
quit;

3.ORDER从句

按照某些列进行排序。语法:

ORDER BY 列1<DESC>,列2<DESC>

例如以下例子按照MSRP升序,MAKE降序,Model升序

PROC SQL;
Select make,model,msrp,msrp*0.06 as tax
  from sashelp.cars
    where calculated tax<2400
      order by msrp,make desc,model;
quit;

4.Group BY从句

用来查看分组信息。一般和汇总函数(summary function)一起使用。

7c45c587afb9bb74b1265755f0a8f16f.png

我们重点关注count函数。

语法:

count (列名)
  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值