简单的sql查询最高销量

时间:2016-12-02 03:18:01

标签: sql

有2个表 - 产品和销售

Products
prod_id
prod_nm



Sales
prod_id
cust_id
sls_dt
sls_amt

编写一个选择所有产品的查询。对于每个产品,显示过去30天内的销售总额,如果未使用子查询在30天内销售,则为0。

由于不同的RDBMS具有不同的日期函数,您可以使用以下伪代码按日期过滤 - sls_dt>现在() - 30。

我是sql的新手,我正在尝试这样,因为我在网上发现了这个。

Select prod_id, prod_nm from(
Select sls_amt
From Sales) as t
Where t.rank = 1

但是,这不是'工作。任何帮助表示赞赏

1 个答案:

答案 0 :(得分:0)

尝试以下:

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;