简单的SQL查询销量最高
问题描述:
有2个表 - 产品及销售简单的SQL查询销量最高
Products
prod_id
prod_nm
Sales
prod_id
cust_id
sls_dt
sls_amt
编写一个查询,选择所有产品。对于每个产品,显示过去30天内的销售总额,如果在30天内未使用子查询销售,则为0。 sls_dt>现在() - -
由于不同的RDBMS有不同的日期函数,你可以通过日期,使用以下伪代码过滤器30
进出口新的SQL和IM试图像这样因为我发现这个在线。
Select prod_id, prod_nm from(
Select sls_amt
From Sales) as t
Where t.rank = 1
但是,这不是'工作。任何帮助表示赞赏
答
尝试以下:
select p.prod_id,
p.prod_nm,
sum(s.sls_amt)
from products p
left outer join Sales s on p.prod_id = s.prod_id
and s.sls_dt > now() - 30
group by p.prod_id,
p.prod_nm;
+0
这个工作的人。谢谢@Gurwinder – pruthvi
'使用以下伪code' ...日期函数是高度依赖RDBMS和通用的答案可能没有帮助任何人。你正在使用哪个数据库? –
您可以使用以下伪代码进行日期过滤 - sls_dt> now() - 30. – pruthvi
@TimBiegeleisen – pruthvi