Rumah pangkalan data tutorial mysql Oracle分析函数基本概念和语法总结

Oracle分析函数基本概念和语法总结

Jun 07, 2016 pm 05:18 PM
fungsi oracle nombor

分析函数基于一个行集计算聚集值,和聚合函数不同的地方在于分析函数会返回多行。除了最后的order by子句,分析函数是一个查询中

Analytic functions compute an aggregate value based on a group of rows. They differ from aggregate functions in that they return multiple rows for each group. The group of rows is called a window and is defined by the analytic_clause. For each row, a sliding window of rows is defined. The window determines the range of rows used to perform the calculations for the current row. Window sizes can be based on either a physical number of rows or a logical interval such as time.
Analytic functions are the last set of operations performed in a query except for the final ORDER BY clause. All joins and all WHERE, GROUP BY, and HAVING clauses are completed before the analytic functions are processed. Therefore, analytic functions can appear only in the select list or ORDER BY clause.

分析函数基于一个行集计算聚集值,和聚合函数不同的地方在于分析函数会返回多行。
(很多分析函数也可以用作聚合函数,只是两种用法在语法上有所差异)
行集被称为窗口,对于每一行,定义了一个滑动窗口。这个窗口决定了对于当前行,用来执行计算的行的范围。
窗口的大小可以是物理的(行号)也可以是逻辑的(取值范围)。

除了最后的order by子句,分析函数是一个查询中最后被执行的操作,所有的join,where,group by,having语句都在分析函数之前执行,,因此分析函数只能出现在select语句或者order by子句中。

分析函数语法
analytic_function([arguments])
OVER(
[partition_clause]
[order_by_clause[windowing_clause]]
)

1)分析函数
有以下的分析函数,带*号的函数表示允许windowing子句。
AVG *
CORR *
COUNT *
COVAR_POP *
COVAR_SAMP *
CUME_DIST
DENSE_RANK
FIRST
FIRST_VALUE *
LAG
LAST
LAST_VALUE *
LEAD
LISTAGG
MAX *
MIN *
NTH_VALUE*
NTILE
PERCENT_RANK
PERCENTILE_CONT
PERCENTILE_DISC
RANK
RATIO_TO_REPORT
REGR_ (Linear Regression) Functions *
ROW_NUMBER
STDDEV *
STDDEV_POP *
STDDEV_SAMP *
SUM *
VAR_POP *
VAR_SAMP *
VARIANCE *

2)PARTITION子句
按照表达式分分组,如果省略此子句,则全部的结果集被看作是一个组。

3)ORDER BY子句
ORDER BY将添加一个默认的WINDOWING子句,这个窗口从分组的第一行开始,一直继续到当前行(值),
即RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW.
没有ORDER BY时,默认的窗口是组中的全部行。

4)WINDOWING子句
定义分析函数作用的行集合,集合中的数据可以看作是一个窗口。
要使用WINDOWING子句,必须使用ORDER BY子句。
有2个建立窗口的关键字:ROWS和RANGE。
ROWS表示一个物理窗口(行);RANGE表示一个逻辑窗口。
BETWEEN...AND: 指定一个范围,如果省略,只指定一个端点,它将作为起点,终点是当前行。
UNBOUNDED PRECEDING:表示窗口从当前分组的第一行开始。
UNBOUNDED FOLLOWING:表示窗口,结束于当前分组的最后一行。
CURRENT ROW:表示窗口开始/结束于当前行或者当前值。
value_expr PRECEDING/value_expr FOLLOWING:指定一个物理或者逻辑的偏移量。

下面通过几个例子来理解这些概念。emp表中有如下数据:

wmsys.wm_concat()函数可以用来进行字段合并,把多行的某一列数据合并成一行显示。
例如,下面利用这个函数把一个部门的所有人名显示在一行。

上面的例子里wm_concat()作为聚合函数使用,下面看看它作为分析函数的结果。
可以看到和聚合函数用法不同的是分析函数为每一行都返回一个结果。

上面的例子没有加上order by子句,前面说过如果没有order by子句默认的窗口是分组中的全部行。
所以在每个部门分组中的所有人名都会显示。

linux

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Top 10 Global Ranking Platform Perdagangan Mata Wang Maya Digital (2025 Perjalanan) Top 10 Global Ranking Platform Perdagangan Mata Wang Maya Digital (2025 Perjalanan) Mar 06, 2025 pm 04:36 PM

Pada tahun 2025, platform perdagangan mata wang maya digital global sangat kompetitif. OKX menduduki tempat pertama dengan kekuatan teknikal yang kuat dan strategi operasi global, dan Binance mengikuti rapat dengan kecairan yang tinggi dan yuran yang rendah. Platform seperti Gate.io, Coinbase, dan Kraken berada di barisan hadapan dengan kelebihan masing -masing. Senarai ini meliputi platform perdagangan seperti Huobi, Kucoin, Bitfinex, Crypto.com dan Gemini, masing -masing dengan ciri -cirinya sendiri, tetapi pelaburan harus berhati -hati. Untuk memilih platform, anda perlu mempertimbangkan faktor -faktor seperti keselamatan, kecairan, yuran, pengalaman pengguna, pemilihan mata wang dan pematuhan peraturan, dan melabur secara rasional

atur cara C untuk mencari faktor perdana terbesar bagi suatu nombor atur cara C untuk mencari faktor perdana terbesar bagi suatu nombor Aug 27, 2023 am 10:09 AM

Faktor Perdana−Teori Nombor,faktor utama bagibilangan bulat positif ialah nombor perdanayang bahagikan dalam satu sama lain.Proses mencari nombor disebut sebagai pemfaktoranteger,ataupemfaktoran.Contoh−Faktor perdana bagi288 ialah:288=2x2x2x2x

10 platform perdagangan mata wang digital teratas senarai terbaru 10 platform perdagangan mata wang digital teratas 10 platform perdagangan mata wang digital teratas senarai terbaru 10 platform perdagangan mata wang digital teratas Mar 17, 2025 pm 05:57 PM

10 platform perdagangan mata wang digital teratas: 1. Okx, 2. Binance, 3. Gate.io, 4. Huobi Global, 5. Kraken, 6. Coinbase, 7. Kucoin, 8.

10 Pertukaran Teratas dalam Bulatan Mata Wang Pada 2025 Ranking Aplikasi Mata Wang Digital Terkini 10 Pertukaran Teratas dalam Bulatan Mata Wang Pada 2025 Ranking Aplikasi Mata Wang Digital Terkini Feb 27, 2025 pm 06:33 PM

Kedudukan Platform Perdagangan Mata Wang Maya Sepuluh Top (Terkini pada 2025): Binance: Pemimpin global, kecairan yang tinggi, dan peraturan telah menarik perhatian. OKX: Pangkalan pengguna yang besar, menyokong pelbagai mata wang, dan menyediakan perdagangan leverage. Gate.io: Pertukaran kanan, dengan pelbagai kaedah pembayaran mata wang fiat, menyediakan pelbagai pasangan perdagangan dan produk pelaburan. Bitget: Pertukaran derivatif, kecairan yang tinggi, yuran yang rendah. Huobi: Pertukaran lama yang menyokong pelbagai mata wang dan pasangan perdagangan. Coinbase: Pertukaran Amerika yang terkenal, yang dikawal ketat. Phemex dan sebagainya.

10 platform perdagangan teratas untuk aplikasi mata wang digital, cadangan aplikasi platform spekulasi mata wang tetap 10 platform perdagangan teratas untuk aplikasi mata wang digital, cadangan aplikasi platform spekulasi mata wang tetap Mar 07, 2025 pm 06:51 PM

Artikel ini mengesyorkan aplikasi perdagangan mata wang digital: 1. Apabila memilih platform, anda perlu mempertimbangkan faktor -faktor seperti keselamatan, kecairan, yuran transaksi, pemilihan mata wang, antara muka pengguna, sokongan perkhidmatan pelanggan dan pematuhan peraturan, dan menilai dengan teliti risiko dan tidak pernah membabi buta mengikuti trend.

Sepuluh Platform Perdagangan Mata Wang Top Teratas di Dunia Sepuluh Platform Perdagangan Mata Wang Top Teratas di Dunia Mar 12, 2025 pm 05:33 PM

Artikel ini menyediakan kaedah muat turun aplikasi mudah alih Android dan Apple untuk platform perdagangan mata wang digital arus perdana seperti Binance, OKX, Gate.io, Huobi Global, Coinbase, Kucoin, Kraken dan Bitfinex. Sama ada pengguna Android atau pengguna Apple, anda boleh mencari pautan muat turun aplikasi rasmi untuk platform yang sepadan dan melengkapkan pemasangan mengikut langkah -langkah. Artikel ini menyediakan panduan terperinci mengenai mencari dan memuat turun di laman web rasmi masing -masing atau kedai aplikasi, dan memberikan arahan mengenai langkah -langkah khas untuk memasang fail APK di Android, supaya pengguna dapat memuat turun dan menggunakannya dengan cepat dan mudah.

Apakah platform mata wang digital yang boleh dipercayai? Apakah platform mata wang digital yang boleh dipercayai? Mar 17, 2025 pm 05:45 PM

Platform mata wang digital yang boleh dipercayai termasuk: 1.

Platform Perdagangan Apl Digital Teratas Top10 Apping Mata Wang Mata Maya 2025 Platform Perdagangan Apl Digital Teratas Top10 Apping Mata Wang Mata Maya 2025 Mar 13, 2025 pm 07:00 PM

Ranking Platform Perdagangan Mata Wang Mata Peringkat ini berdasarkan pertimbangan yang komprehensif seperti kecairan platform, pemilihan mata wang, keselamatan, pengalaman pengguna, yuran pengendalian dan pematuhan, tetapi hanya untuk rujukan.

See all articles