2010-11-09 23 views
2

我使用GROUP BY來每月聚合一個項目。我想要一列的SUM和另一列的產品。我無法在網上或在我的書中找到產品運營商......但是是否有一系列其他運營商將構建產品運營商?SQLite中是否有產品操作員(或變通辦法)?

在緊要關頭,我可以做產品R中運行,這是數據的標題,但我很想盡量減少循環我做的量。

謝謝!

更新:OK,所以我真的想創造一個產品聚合到列的產品發回R.在試圖回答一個futerh下游問題,我得到的將它全部的答案。已經有一個沒有納入SQLite的通用函數庫(Healey functions)。我可以使用庫(R)在R中輕鬆使用這些函數。所以我可以通過指數化​​日誌總和來創建產品聚合器。感謝DWin showing我是關於RQLite.extfuns庫的關鍵部分。

回答

3

可以使用create_function().

+0

這將做它加入自己的聚合運算符!謝謝! – 2010-11-10 10:32:35

+0

好的,新手問題...我在哪裏可以保存C函數?我該怎麼稱呼它?我必須編譯?我的谷歌搜索和書籍假設我知道C和SQLite API的管家方面。謝謝! – 2010-11-10 15:29:16

+1

create_function只是一個函數調用,但是你必須傳遞給它來實現你的聚合函數的函數是你必須編寫和編譯的函數。 「第七,第八和第九個參數xFunc,xStep和xFinal是指向實現SQL函數或聚集的C語言函數的指針。標量SQL函數只需要實現xFunc回調函數; NULL指針必須作爲xStep和xFinal參數集合SQL函數需要執行xStep,並且必須爲xFunc傳遞xFinal和NULL指針。「 – 2010-11-10 18:03:21

2

如果每個組的行數是足夠小,你可以使用group-concat返回所有被乘數爲R.

+0

這也會派上用場。謝謝! – 2010-11-10 10:33:18

相關問題