原 計算乘積的聚合函式跑哪去了呢?

2022-01-30 16:43:16 字數 540 閱讀 2365

非常鬱悶,笨笨的excel有個product函式可以用於計算某一列的乘積,但是oracle,sql server都沒有,貌似mysql也沒有。

看了一下asktom,貌似要自己寫乙個product的function,鬱悶鬱悶。

突然,同事提出嘗試變換一下,可是乘法已經是最基本的四則,莫非要變換成加法?!@_@

還是這位同事提出可以用指數、對數的方式變換乘法,如下:

指數和(自然)對數如此複雜的運算子oracle、sql server都有現成的函式,為什麼乘積就沒有呢?

想不明白。

還是說回正題,最終的sql語句變成這樣:

oracle:

select exp(sum(ln( field_name ))) from table_name;
sql server:

select exp(sum(log( field_name ))) from table_name;
剛才翻了一下sql hacks,發現第24個hack就是描述這個問題,非常推薦大家讀一下這本書,保證會讓您覺得sql絕不簡單。

(原)IOU的計算

參考 中iou的計算。理解不對的地方敬請諒解。iou是兩個矩形的交集與兩個矩形並集的比值 可以這樣理解吧 如下圖所示 黃色矩形起點座標 x11,y11 終點座標 x12,y12 藍色矩形起點座標 x21,y21 終點座標 x22,y22 則 黃色矩形寬w1 x12 x11,高h1 y12 y11 黃...

numpy 中的聚合計算與非聚合計算

import numpy as np arr np.arange 16 reshape 4,4 print 陣列最大值為 n np.max arr print 陣列最小值為 n np.min arr print 陣列最大元素索引值為 n np.argmax arr print 陣列最小元素索引值為 ...

Nhibernate 的聚合函式

今天遇到的問題 hql select max sninfo.ln from sninfo 設定maxresult 1 執行這條查詢時,返回的是sninfo物件,其中ln是519,query的返回結果集也不是1。改為iquery q corerepository.activesession.creat...