在proc sql中group by语句不是highlighitng

时间:2014-01-17 02:15:04

标签: sql sas

我有以下代码

  proc sql;
        create table wantedData as select label,count(value) as count 
        from bins left join work.test
        on start<=value<=end
        group by label
        order by start;
    quit;

group by语句没有突出显示,导致它提供错误的数据。

BTW我使用的是SAS 9.1

1 个答案:

答案 0 :(得分:0)

我怀疑问题是

order by start

由于start不在group by,因此可能会重新合并以实施该规则。虽然大多数SQL风格都不允许通过group by以外的变量进行选择,这是您在使用order(隐式选择)时所做的事情,而SAS将通过结果获取组,然后加入返回包含非group-by变量的原始表,从而返回更多行(除非group by不减少行数)。

您需要删除order语句,或者需要使用某种摘要功能,例如order by max(start)