Sql 根据结果计数拆分查询结果
我有一个基于基本条件的查询,它将在任何给定的一天返回X个记录 我试图检查基本查询的结果,然后根据X的总和对其应用百分比分割,并将其分割为2个桶。每个bucket将占X中返回的总查询结果的百分比 例如:Sql 根据结果计数拆分查询结果,sql,oracle,oracle10g,oracle11g,Sql,Oracle,Oracle10g,Oracle11g,我有一个基于基本条件的查询,它将在任何给定的一天返回X个记录 我试图检查基本查询的结果,然后根据X的总和对其应用百分比分割,并将其分割为2个桶。每个bucket将占X中返回的总查询结果的百分比 例如: 查询A返回3500条记录 如果查询A返回的记录数为=3001且我不确定您希望如何显示结果行集的不同部分,因此我只添加了额外的列(part)在结果行集合中,包含值1,指示该行属于第一部分和2-第二部分 select z.* , case when cnt_all &
- 查询A返回3500条记录
- 如果查询A返回的记录数为=3001且我不确定您希望如何显示结果行集的不同部分,因此我只添加了额外的列(
)在结果行集合中,包含值part
,指示该行属于第一部分和1
-第二部分2
select z.* , case when cnt_all <= 3000 and cnt <= 40 then 1 when (cnt_all between 3001 and 50000) and (cnt <= 10) then 1 else 2 end part from (select t.* , 100*(count(col1) over(order by col1) / count(col1) over() )cnt , count(col1) over() cnt_all from split_rowset t order by col1 ) z
选择z* 案例 你什么时候知道