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'
如果还需要其他内容,请提出来。发布您的预期输出,同时发布您迄今为止尝试过的内容