在 Oracle 中使用数据透视表而不使用聚合函数

Use pivot with out using agregate function in Oracle

我的 table:

中有这个样本日期
secq     dt              WORK_WEEK
----------------------------------
101 2021-01-04 12:00:00 2101
102 2021-01-05 12:00:00 2101
103 2021-01-06 12:00:00 2101
104 2021-01-07 12:00:00 2101
105 2021-01-08 12:00:00 2101
106 2021-01-09 12:00:00 2101
107 2021-01-10 12:00:00 2101
108 2021-01-11 12:00:00 2102
109 2021-01-12 12:00:00 2102
110 2021-01-13 12:00:00 2102
111 2021-01-14 12:00:00 2102
112 2021-01-15 12:00:00 2102
113 2021-01-16 12:00:00 2102
114 2021-01-17 12:00:00 2102
115 2021-01-18 12:00:00 2103
116 2021-01-19 12:00:00 2103
117 2021-01-20 12:00:00 2103
118 2021-01-21 12:00:00 2103
119 2021-01-22 12:00:00 2103
120 2021-01-23 12:00:00 2103
121 2021-01-24 12:00:00 2103
122 2021-01-25 12:00:00 2104
123 2021-01-26 12:00:00 2104
124 2021-01-27 12:00:00 2104
125 2021-01-28 12:00:00 2104
126 2021-01-29 12:00:00 2104
127 2021-01-30 12:00:00 2104
128 2021-01-31 12:00:00 2104
129 2021-02-01 12:00:00 2105
130 2021-02-02 12:00:00 2105
131 2021-02-03 12:00:00 2105
132 2021-02-04 12:00:00 2105
133 2021-02-05 12:00:00 2105
134 2021-02-06 12:00:00 2105
135 2021-02-07 12:00:00 2105

我只想在每个工作周显示所有日期我无法生成输出

应该是这样的:

这是我尝试过的方法:

SELECT * 
FROM
    (SELECT DT, WORK_WEEK  
     FROM RP_CALENDAR
     WHERE YEAR = '2021')
 PIVOT 
     (MAX(dt) 
         FOR WORK_WEEK IN ('2101', '2102', '2103', '2105') 
     )

但是因为有聚合函数所以显示最大值

您可以添加 ROW_NUMBER() 分析函数以便按

等分组
SELECT "2101","2102","2103","2104","2105"
  FROM(
       SELECT TO_CHAR(dt,'dd') AS dt, work_week, 
              ROW_NUMBER() OVER (PARTITION BY work_week ORDER BY dt)
         FROM rp_calender
        WHERE TO_CHAR(dt,'yyyy') = '2021'
       )
 PIVOT ( MAX(dt) FOR work_week IN (2101,2102,2103,2104,2105) )