在select,Oracle中学习几天

时间:2016-02-29 11:13:52

标签: sql oracle

我有一张这样的表:

|Number| Type | Date   |
| 1232 |   1  |1/1/2016|
| 2535 |   2  |1/1/2016|
| 5435 |   1  |2/1/2016|
| 344  |   2  |2/1/2016|
| ...  | ...  |5/1/2016|

并且想要一个返回最近5天数据的查询:

| Type |Date |Date -1|...    |Date -4|Date -5| 
|  1   | ... |....   |...    |  5435 |1232   |
|  2   | ... |....   |...    |  344  |2535   |

提前致谢

1 个答案:

答案 0 :(得分:0)

查看pivot子句。 你的基地表有

select Number, Type, Date-Sysdate as Daysago from ...

然后使用pivot子句进行透视,类似这样

SELECT * FROM
(      select Number, Type, Date-Sysdate as Daysago from ...)
PIVOT
(
 sum(Number)
 FOR product_id IN (0, 1, 2, 3, 4, 5)
)