递归 CTE 如何使用它
recurcive CTE how to use it
我想通过传递一个日期直到到达最终日期来创建递归 cte。谁能告诉我如何做的例子
我需要通过一个开始日期和一个结束日期,并统计每年有多少学生!
其中 :date 和 :finaldate 是一个输入
with seventeen as
(
select count(studentid)
from students s
join periodrange p on p.idx = s.periodrangeidx
where p.validdate between :date and :finaldate
)
我想知道每一年的学生总和
这样的事情会奏效吗?或者我是否梦想着能实现复发性 CTE
您不需要 CTE,您可以使用分组依据和计数:
select count(studentid), extrac(year from p.validatdate) as Year
from students s
join periodrange p on p.idx = s.periodrangeidx
where p.validdate between :date and :finaldate
Group by extrac(year from p.validatdate), studentid
我想通过传递一个日期直到到达最终日期来创建递归 cte。谁能告诉我如何做的例子
我需要通过一个开始日期和一个结束日期,并统计每年有多少学生!
其中 :date 和 :finaldate 是一个输入
with seventeen as
(
select count(studentid)
from students s
join periodrange p on p.idx = s.periodrangeidx
where p.validdate between :date and :finaldate
)
我想知道每一年的学生总和
这样的事情会奏效吗?或者我是否梦想着能实现复发性 CTE
您不需要 CTE,您可以使用分组依据和计数:
select count(studentid), extrac(year from p.validatdate) as Year
from students s
join periodrange p on p.idx = s.periodrangeidx
where p.validdate between :date and :finaldate
Group by extrac(year from p.validatdate), studentid