Funzione Moltiplicazione

venerdì 06 settembre 2013 - 00.19

gsistemi Profilo | Junior Member

Esiste una funzione come SUM che invece di sommare moltiplica tutti i record di una query?
Altrimenti come posso ottenere il prodotto del valore dello stesso campo di N record?

tabella
id | quota |
1 | 4,30 |
2 | 3,20 |
3 | 2,30 |

vorrei restituisse
4,30 x 3,20 x 2,30 = 31,648

Grazie!

alx_81 Profilo | Guru

>Esiste una funzione come SUM che invece di sommare moltiplica tutti i record di una query?
annoso problema.. la PROD o la MULTIPLY non esistono.

>Altrimenti come posso ottenere il prodotto del valore dello stesso campo di N record?
utilizzando un trick che si basa sulle proprietà fondamentali dei logaritmi.

sapendo che
LOG(a) + LOG(b) = LOG(a * b)

e applicando l'inversa della LOG, che è l'EXP puoi fare:
EXP(LOG(a) + LOG(b)) = EXP(LOG(a * b))

EXP e LOG si annullano e ottieni il prodotto..
quindi con t-sql:

SELECT EXP(SUM(LOG(quota)) FROM tabella

per curiosità, che devi farci con quel valore?

>Grazie!
di nulla!

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

gsistemi Profilo | Junior Member

Sto facendo un programmino per fare delle scommesse, memorizzo i vari pronostici con le quote, alla fine devo fare il totale della quota da moltiplicare per la giocata.
Nei sistemi di scommesse le varie quote si moltiplicano

Es. Roma - Milan Quota: 4
Inter - Juve Quota: 4,2
Torino - Parma Quota: 2

Quota Totale: 33,6
Importo Scommesso: 3
Vincita Potenziale: 100,8

Grazie della Risposta!

alx_81 Profilo | Guru

>Sto facendo un programmino per fare delle scommesse, memorizzo
>i vari pronostici con le quote, alla fine devo fare il totale
>della quota da moltiplicare per la giocata.
>Nei sistemi di scommesse le varie quote si moltiplicano
eheheh.. conosco molto bene la problematica, era il mio lavoro fino a un sei mesi fa.. e lo è stato per anni
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

gsistemi Profilo | Junior Member

Quando ho finito e lo pubblico posso mandarti un link per farti vedere cosa ho fatto?
Ciao!

alx_81 Profilo | Guru

>Quando ho finito e lo pubblico posso mandarti un link per farti vedere cosa ho fatto?
certo
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

gsistemi Profilo | Junior Member

Ciao Alessandro,

questo è quello che ho fatto, se hai voglia dai un'occhiata, per farlo funzionare devi registrarti però!
http://www.donnaperfetta.com/dpbet.aspx

Approfitto per chiederti una cosa, so che esiste un sistema che scommettendo importi diversi per i tre pronostici (1X2) è possibile vincere matematicamente anche se pochissimo.
C'è un sistema per calcolare le quote in modo da evitare questa cosa?

Grazie!

alx_81 Profilo | Guru

>questo è quello che ho fatto, se hai voglia dai un'occhiata,
>per farlo funzionare devi registrarti però!
>http://www.donnaperfetta.com/dpbet.aspx
non so perchè ma la parte bassa sembra all'inizio un po' più interessante

>Approfitto per chiederti una cosa, so che esiste un sistema che
>scommettendo importi diversi per i tre pronostici (1X2) è possibile
>vincere matematicamente anche se pochissimo.
>C'è un sistema per calcolare le quote in modo da evitare questa cosa?
Queste domande sono risposte che un bookmaker può darti. E non è un lavoro semplice, per niente
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5