Dear readers of our blog, we'd like to recommend you to visit the main page of our website, where you can learn about our product SQLS*Plus and its advantages.
 
SQLS*Plus - best SQL Server command line reporting and automation tool! SQLS*Plus is several orders of magnitude better than SQL Server sqlcmd and osql command line tools.
 

REQUEST COMPLIMENTARY SQLS*PLUS LICENCE

Enteros UpBeat offers a patented database performance management SaaS platform. It proactively identifies root causes of complex revenue-impacting database performance issues across a growing number of RDBMS, NoSQL, and deep/machine learning database platforms. We support Oracle, SQL Server, IBM DB2, MongoDB, Casandra, MySQL, Amazon Aurora, and other database systems.

Oracle PL/SQL Analytical Functions

14 July 2020

Oracle Analytical functions

Oracle Analytical functions take as an argument an SQL table, which represents a logical intermediate result of SQL-operator processing, where a reference to such a function is used, and return as their result usually also SQL-table.

FunctionDescription
CORRreturns the correlation coefficient of multiple pairs of numbers.
COVAR_POPbrings back the covariance of multiple pairs of numbers.
COVAR_SAMPreturns selective covariance to a set of pairs of numbers.
CUME_DISTreturns the cumulative distribution of values in the value group. The function CUME_DIST returns a value that > 0 and <= 1.
DENSE_RANKreturns the rank of a string in an ordered group of strings. It is very similar to the RANK function. However, the RANK function may cause inconsistent ranking if the values under test are the same. Therefore, the DENSE_RANK function will always result in a sequential ranking of rows.
FIRST_VALUEreturns the first value in an ordered set of values from the analytical window. It is similar to FIRST_VALUE and NTH_VALUE.
LAGan analytic function that allows you to query more than one row in a table, while not having an attached table. This returns values from the previous row in the table. To return a value from the next row, try the LEAD function.
LAST_VALUEreturns the last value in an ordered set of values from the analytical window. It is similar to FIRST_VALUE and NTH_VALUE.
LEADis an analytical function that allows you to query more than one row in a table, while not having a table to join. Returns values from the next row in the table. To return a value from the previous row, try the LAG function.
LISTAGGintegrates measure_column values for each group based on order_by_clause.
NTH_VALUEreturns the n-th value in an ordered set of values from the analytical window. It is similar to FIRST_VALUE and LAST_VALUE except that NTH_VALUE allows you to find a certain position in the analytical window, e.g. 2nd, 3rd or 4th value.
RANKreturns the value rank in the value group. This is very similar to the DENSE_RANK function. However, the RANK function may not return a consecutive rank if the values under test are the same. Whereas, DENSE_RANK will always result in a consecutive ranking.
The RANK function can be used in two ways – as an aggregate function or as an analytical function.
STDDEVreturns the standard deviation of the number list. The STDDEV function can be used in two ways – as an aggregate function or as an analytical function.
VAR_POPreturns the dispersion of a set of numbers.
VAR_SAMPreturns the selective dispersion of the number set.
VARIANCEreturns the dispersion of the number set.

 

Objectives of introducing analytical functions in Oracle

The technical purpose of the introduction of analytical functions is to give a concise formulation and increase the speed of execution of “analytical queries” to the database, i.e. queries that have meaning to identify internal relations and dependencies in the data. More precisely, the use of analytical functions can provide the following benefits to conventional SQL-operators:

  • Simple and concise wording. Many analytical queries to the database by traditional means are difficult to formulate, and therefore difficult to comprehend and poorly debugged.
  • Reducing the network load. What could previously be formulated only by a series of queries is reduced to a single query. Only the request is sent through the network and the final result is obtained.
  • Transfer of calculations on a server. With use of analytical functions it is not necessary to organise calculations on the client; they are completely spent on a server which resources can be more suitable for fast processing of large volumes of the data.
  • Better efficiency in processing requests. Analytical functions have computation algorithms, which are inextricably linked with special plans of query processing, optimized for faster results.

The strategic goal of introducing analytical functions into Oracle is to provide a basic tool for building “data warehouse” (DW), “analytical” (business intelligence systems, BI) or OLAP-systems ICs. Under representations of developers, a set of such base means besides analytical functions form also other Oracle means, such as

  • ROLLUP, CUBE and related structures in GROUP BY offers
  • materialized views

Classification of analytical function types in Oracle

According to the classification from Oracle documentation, analytical functions can be of the following types:

  • (a) Rank functions
  • (b) statistical functions for the floating range
  • (c) share-counting functions
  • (d) statistical functions LAG/LEAD with lagged/leading argument
  • (e) statistical functions (linear regression, etc.).

Main technical features

Place to specify analytical functions in SQL offer

Analytical functions take the column of the intermediate result of the SQL proposal calculation as an argument and return the same column. Therefore, only ORDER BY and SELECT phrases can be used in the SQL sentence to complete processing of the logical intermediate result.

Comparison with conventional aggregation functions

Many analytical functions act like ordinary scalar aggregation functions SUM, MAX and others applied to string groups formed with GROUP BY. However, conventional aggregation functions reduce the level of detail, while analytical functions do not.

Analytical Functions in oracle explained with real examples

 
Tags: , , , , ,

MORE NEWS

 

Preamble​​NoSql is not a replacement for SQL databases but is a valid alternative for many situations where standard SQL is not the best approach for...

Preamble​​MongoDB Conditional operators specify a condition to which the value of the document field shall correspond.Comparison Query Operators $eq...

5 Database management trends impacting database administrationIn the realm of database management systems, moreover half (52%) of your competitors feel...

The data type is defined as the type of data that any column or variable can store in MS SQL Server. What is the data type? When you create any table or...

Preamble​​MS SQL Server is a client-server architecture. MS SQL Server process starts with the client application sending a query.SQL Server accepts,...

First the basics: what is the master/slave?One database server (“master”) responds and can do anything. A lot of other database servers store copies of all...

Preamble​​Atom Hopper (based on Apache Abdera) for those who may not know is an open-source project sponsored by Rackspace. Today we will figure out how to...

Preamble​​MongoDB recently introduced its new aggregation structure. This structure provides a simpler solution for calculating aggregated values rather...

FlexibilityOne of the most advertised features of MongoDB is its flexibility.  Flexibility, however, is a double-edged sword. More flexibility means more...

Preamble​​SQLShell is a cross-platform command-line tool for SQL, similar to psql for PostgreSQL or MySQL command-line tool for MySQL.Why use it?If you...

Preamble​​Writing an application on top of the framework on top of the driver on top of the database is a bit like a game on the phone: you say “insert...

Preamble​​Oracle Coherence is a distributed cache that is functionally comparable with Memcached. In addition to the basic function of the API cache, it...

Preamble​​IBM pureXML, a proprietary XML database built on a relational mechanism (designed for puns) that offers both relational ( SQL / XML ) and...

  What is PostgreSQL array? In PostgreSQL we can define a column as an array of valid data types. The data type can be built-in, custom or enumerated....

Preamble​​If you are a Linux sysadmin or developer, there comes a time when you need to manage an Oracle database that can work in your environment.In this...

Preamble​​Starting with Microsoft SQL Server 2008, by default, the group of local administrators is no longer added to SQL Server administrators during the...