¿如何计算SQL Oracle中select中行之间的差异?

时间:2018-01-17 21:04:49

标签: sql oracle

我希望得到Oracle sql构建的帮助。

假设我有以下数据库表和描述: 商店:存储与所有新客户相关的信息        country允许采用两个值:“Argentina”/“Brasil”

CustomerBOM:存储历史客户        日期:每月的第一个日期(2017年1月1日,2017年1月2日......)        客户:订阅是最新的客户。

Here is a better table description.

现在我必须回答这个问题: 每个月的数量是多少?

我到目前为止所编写的代码如下所示:

select date,  
from CustomerBOM t1, Store t2
where t1.ID = t2.ID
group by date
having 
order by date asc

您能否指导我如何获得每个月之间差异的完整列表?

编辑: 这就是它应该看起来像句子的输出:

Month         Difference 
January       100 (total clients) 
February      20 (120 clients from February - 100 clients from January)
March         60 (180 clients from March - 120 clients from February)

谢谢, 尼古拉斯。

1 个答案:

答案 0 :(得分:0)

试试这个:

select to_char(t1.date, 'YYYY/MM/DD') customer_month,  count(1) number_of_customers
from CustomerBOM t1, 
     Store t2
where t1.ID = t2.ID
group by to_char(t1.date, 'YYYY/MM/DD')
order by to_char(t1.date, 'YYYY/MM/DD')