2010-08-17 55 views
3

任何人都可以推薦一個很好的教程(或可能是書),它涵蓋了使用分析函數的高級主題嗎?關於Oracle/SQLServer中分析函數的高級教程

我正在尋找同時涵蓋Oracle和SQLServer的東西 - 或者兩個單獨的指南(如果單個指南不存在)。提供使用非平凡函數(LAG,LEAD,GROUPING,PERCENTILE)的很好例子的東西會很有幫助。

請不要將我指向基本的Oracle Technet或MSDN參考資料 - 我已經看到了。我正在尋找的不僅僅是語法或微不足道的例子。

回答

1

對於Oracle來說,Tom Kyte的Expert Oracle(簽名版)有很好的一章。 Expert Oracle的早期版本缺少本章內容。這比我見過的大多數在線文章都要詳細得多。通過對「湯姆凱特解析函數」

這在很大程度上要適當的SQL Server,雖然具體的語法可以(像往常一樣)改變搜索在谷歌圖書

預覽。

Apress還有一本名爲「Oracle SQL Recipes」的書 - 我沒有這個,但Google Books的預覽('analytic function recipes')看起來可能非常有用 - 儘管它來自一個而不是基於概念的方法。

2

我喜歡PostgreSQL實現的教程/介紹。它不僅涵蓋單純的語法,而且還介紹了它們背後的概念。它很好地解釋了窗戶是什麼以及窗戶內的框架是什麼。

PostgreSQL語法與Oracle語法幾乎兼容,所以應該可以幫助您。不確定在SQL Server中實現了多少。

反正這裏是鏈接: http://www.pgcon.org/2009/schedule/events/128.en.html

直接鏈接到PDF: http://www.pgcon.org/2009/schedule/attachments/98_Windowing%20Functions.pdf

+0

感謝您的鏈接。不幸的是,PostgreSQL的分析實現看起來不同於Oracle和SQLServer--這限制了它的實用性。 – LBushkin 2010-08-17 22:21:48

+2

不。PostgreSQL語法與Oracle幾乎相同。我認爲PDF中的所有示例都可以直接在Oracle中直接運行(除了那些使用「命名窗口」功能的示例) 但即使語法不夠符合您的用途,也請閱讀PDF。這對於窗口函數背後的「工作」非常好的解釋。 – 2010-08-17 22:23:29