Le funzioni del SQL Server

di il
4 risposte

Le funzioni del SQL Server

Buonasera !
Tra le funzioni del Sql Server non trovo:
1. una che mi moltiplichi i valori lungo una colonna;
2. la radice n-esima.

1. Ad esempio con una query del genere:

SELECT
	IDP,
	TEST,
	SUM(TEST)	OVER(ORDER BY IDP
					ROWS BETWEEN UNBOUNDED PRECEDING
					AND CURRENT ROW) AS SOMMA_PROGRESSIVA
FROM dbo.PROVA10;
GO
ottengo la somma progressiva.
A me serve la moltiplicazione progressiva o Produttoria.

Per entrambi i casi, esiste una funzione ? O bisogna costruirla in qualche modo ?
Cordiali saluti.

4 Risposte

  • Re: Le funzioni del SQL Server

    La radice n-esima l'ho risolta con questo codice:
    
    SELECT
    	IDP,
    	TEST,
    	ROUND(POWER(TEST,3),4) AS E
    FROM dbo.PROVA10
    WHERE TEST LIKE 5
    
    Rimane la Produttoria. Mi sapete dire qualcosa ?
    Grazie.
  • Re: Le funzioni del SQL Server

    Se i valori che vuoi moltiplicare sono tutti positivi, puoi usare l'equivalente

    SELECT EXP(SUM(LOG(test))) FROM ...
  • Re: Le funzioni del SQL Server

    Grazie del suggerimento.
    Con quel codice ottengo direttamente il valore finale della produttoria.
    Io nel campo TEST ho cinque valori (1, 2, 3, 4, 5). Moltiplicandoli tutti ottengo 120, ma a serve vedere la moltiplicazione progressiva, cioè:
    
    ID	TEST	 Produttoria
    1	  1		1
    2	  2		2
    3	  3	 	6
    4	  4	 	24
    5	  5	 	120
    
    Se non esiste una funzione di aggregazione, bisogna crearla
  • Re: Le funzioni del SQL Server

    Ho risolto con una WINDOWING Function.
    Caso chiuso.
    Saluti.
Devi accedere o registrarti per scrivere nel forum
4 risposte