【发布时间】:2023-03-10 09:18:01
【问题描述】:
我创建了一个以另一列 TYPE 为条件的列。 TYPE=IN 时为 -1,TYPE=OUT 时为 1。
SELECT *,
CASE TYPE
WHEN 'IN' THEN -1
WHEN 'OUT' THEN 1
END AS TYPE_NUMERIC
FROM `SALES_TABLE`
表格如下:
ID DATE TYPE QTY
X100 2010-11-02 IN 1000
X100 2010-11-02 OUT 1000
X100 2010-11-02 OUT 1000
X100 2010-11-02 IN 1000
X100 2010-11-04 IN 1000
...
如何按ID和QTY对数据进行分组,然后求和TYPE_NUMERIC,选择最早Date,count行数每个组?
以上面的示例表为例,预期输出应如下所示:
ID QTY SUM_TYPE_NUMERIC first_DATE TYPE count_rows
X100 1000 0 2010-11-02 IN 4
X100 1000 -1 2010-11-04 IN 1
非常感谢任何建议。
【问题讨论】:
-
一个给定的日期可以有多个 IN 或 OUT 吗?
-
嗨@TimBiegeleisen,是的,这是可能的
-
然后添加反映实际问题的样本数据。
-
刚刚添加了更多示例数据@TimBiegeleisen