Sql 多行数据,需要子查询只拉一行吗?

Sql 多行数据,需要子查询只拉一行吗?,sql,sas,Sql,Sas,我目前有如下数据: Product_ID IND 1_Revenue 2_Revenue Revenue_Code Channel 1 S $50. $75. 1 E 1. S $50. $75. 2 SE 2. P $100. $0. 1 E 3. S

我目前有如下数据:

 Product_ID IND 1_Revenue 2_Revenue Revenue_Code Channel 
 1          S   $50.        $75.    1               E 
 1.         S   $50.        $75.    2               SE 
 2.         P   $100.       $0.     1               E 
 3.         S   $400.       $60.    1               SE 
 3.         S   $400.       $60.    2               S
我试图选择当IND=S时,如果channel=SE,则给我收入最高的行。收入代码指的是1\u收入和2\u收入字段。 所以在本例中,我希望输出有第2行和第4行


我尝试了很多方法,但都没有效果。什么是最好的解决方案?

我不太明白什么是最高收入。根据您的描述,如果您只是应用一个过滤器来选择IND=S和channel=SE的行,那么您不会得到第2行和第4行吗?如下

data want;
  set have;
  if IND = 'S' and channel = 'SE';
run;
或者如果您想使用SQL

PROC SQL;
  create table want as
  select * from have where IND = 'S' and channel = 'SE';
  quit;

根据我们的理解,一个简单的where子句足以得到如下结果:

  select  Product_ID, IND, 1_Revenue, 2_Revenue, Revenue_Code, Channel
  from yourtable
  where IND = 'S' and Channel = 'SE'

如果还需要其他内容,请提出来。

发布您的预期输出,同时发布您迄今为止尝试过的内容