【发布时间】:2021-10-03 03:55:00
【问题描述】:
我的数据库中有一行是我通过查询获得的:
DATE_START DATE_END
31/12/2014 07/07/2018
我需要在date_start和date_end之间每年提取一次我的目的是得到这个:
year
2014
2015
2016
2017
2018
我这样做
SELECT LISTAGG(extract(year from TO_DATE(DATE_START,'dd-MM-yyyy')) ) WITHIN GROUP ( order by oo.DATE_START )
from STUDENT oo
WHERE
...
问题是查询只返回一个值而不是我想要的五个值。谁能帮帮我?
【问题讨论】:
-
LISTAGG顾名思义是一个聚合函数。聚合函数用于减少数据集。
标签: sql oracle aggregate-functions listagg