如何重写以下查询以利用窗口功能?
<Link to={i.categoria && i.categoria.id ? `/noticias/detalle/${i.categoria.id}/${i.id}` : 'WithoutCat'} key={i.id}>
答案 0 :(得分:0)
您的问题的答案将是这样:
select DISTINCT bm.book_cd_id,
count(*) over ( partition by bm.book_cd_id),
sum(amt) over ( partition by bm.book_cd_id)
from ldfods_prd.gl_fincl_dtl fd,
ldfods_prd.gl_book_cd_hier_mstr bm
where fd.book_cd_mstr_id = bm.book_cd_mstr_id
and fy = 2017
and acctg_prd = 1;
但这实际上是朝错误方向迈出的一步。您发布的查询基本上是“给我每个book_cd_id
的结果集中的一条记录,并给我每条包含该book_cd_id
的记录数以及这些记录的amt
的总和列。”使用常规的聚合函数编写查询的方式正是这样做的方式。您不想仅仅为了它而引入窗口功能。