我有以下代码
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
答案 0 :(得分:0)
我怀疑问题是
order by start
由于start
不在group by
,因此可能会重新合并以实施该规则。虽然大多数SQL风格都不允许通过group by
以外的变量进行选择,这是您在使用order
(隐式选择)时所做的事情,而SAS将通过结果获取组,然后加入返回包含非group-by变量的原始表,从而返回更多行(除非group by不减少行数)。
您需要删除order
语句,或者需要使用某种摘要功能,例如order by max(start)
。