CREATE TABLE TEMP(RESOURCE_VALUE VARCHAR2(63 BYTE),TOT_COUNT NUMBER)
voglio una query che può estrarre l'intervallo da cui voglio avere la rottura dei record di somma al valore XYZ. dirò 50.000 è il bisogno di rottura. poi deve visualizzare tutti gli intervalli da cui RESOURCE_VALUE a cui RESOURCE_VALUE posso ottenere sum < = 50.000. un valore RESOURCE_VALUE può essere incluso in un solo intervallo.
esempio: esempi di dati Il sottostante è l'input
resource_value | tot_count ---------------+---------- 1 100 2 50 3 20 4 30 5 300 6 250 7 200 8 30 9 60 10 200 11 110 12 120
poi l'output deve essere qualcosa del genere:
output esempio 1: when sum(tot_count)<=300
start resource_value endresource_value sum ---------------------+---------------------+------- 1 4 300 5 5 300 6 6 250 7 9 290 10 10 200 11 12 230
output di esempio 2: quando sum(tot_count)<=500
start resource_value end resource_value sum ---------------------+---------------------+------ 1 4 300 5 5 300 6 8 480 9 12 490
En title : Sum operation performed on rows till specified value: a new row for each group for which the sum exceeds the specified value
DBMS
?immagino che si utilizza
ORACLE
, a causa della struttura della tabella, e in oracolo è possibile utilizzare questa query per ottenere il vostro obiettivo:Fiddle di SQL