你如何在 Oracle 中按此分组?
How do you group by this in Oracle?
SQL
SELECT DATE
, SURFACE
, SIZE1
, SIZE2
, SIZE3
, SIZE4
, QTY
FROM TEST_TB
GROUP BY SURFACE
, SIZE1
, SIZE2
, SIZE3
, SIZE4
ORDER BY DATE
, SURFACE
, SIZE1
, SIZE2
, SIZE3
, SIZE4
如何按 SURFACE、SIZE1、SIZE2、SIZE3、SIZE4 进行分组
并从 DATE 获取最早的日期并添加所有 QTY?
我想得到如下所示的结果,但无法正确...
SELECT MIN(date) AS date,
surface,
size1,
size2,
size3,
size4,
SUM(qty) AS qty
FROM test_tb
GROUP BY surface,
size1,
size2,
size3,
size4
ORDER BY date,
surface,
size1,
size2,
size3,
size4;
结果:
DATE SURFACE SIZE1 SIZE2 SIZE3 SIZE4 QTY
-------- ---------- ---------- ---------- ---------- ---------- ----------
01.02.21 2B 1.0 22.3 4000 0 7
04.02.21 PL 5.3 10.0 3500 0 10
07.02.21 PL 2.1 10.5 1800 0 3
07.02.21 PL 4.8 8.0 600 0 9
您对 2B 的期望值是错误的。最早的日期是 2021 年 2 月 1 日。
SQL
SELECT DATE
, SURFACE
, SIZE1
, SIZE2
, SIZE3
, SIZE4
, QTY
FROM TEST_TB
GROUP BY SURFACE
, SIZE1
, SIZE2
, SIZE3
, SIZE4
ORDER BY DATE
, SURFACE
, SIZE1
, SIZE2
, SIZE3
, SIZE4
如何按 SURFACE、SIZE1、SIZE2、SIZE3、SIZE4 进行分组
并从 DATE 获取最早的日期并添加所有 QTY?
我想得到如下所示的结果,但无法正确...
SELECT MIN(date) AS date,
surface,
size1,
size2,
size3,
size4,
SUM(qty) AS qty
FROM test_tb
GROUP BY surface,
size1,
size2,
size3,
size4
ORDER BY date,
surface,
size1,
size2,
size3,
size4;
结果:
DATE SURFACE SIZE1 SIZE2 SIZE3 SIZE4 QTY
-------- ---------- ---------- ---------- ---------- ---------- ----------
01.02.21 2B 1.0 22.3 4000 0 7
04.02.21 PL 5.3 10.0 3500 0 10
07.02.21 PL 2.1 10.5 1800 0 3
07.02.21 PL 4.8 8.0 600 0 9
您对 2B 的期望值是错误的。最早的日期是 2021 年 2 月 1 日。