) rangebetweenInterval'2' DayPreceding andInterval'2' Dayfollowing) Five_day_avg fromCust_orderwhereSale_price is not NULL andOrder_dtbetweenTo_date ('01-jul-2001','dd-mon-yyyy') andTo_date ('31-jul-2001','dd-mon-yyyy')--displays sales for the current month, one months, one months, and average sales for every 3 monthsSelect Month, First_value (sum(Tot_sales)) Over (Order by MonthRowsbetween 1Preceding and 1following) Prev_month,sum(tot_sales) Monthly_sales,last_value (sum(Tot_sales)) Over (
(Rank, Dense_rank, Row_number) ①row_number:12345The row_number function returns a unique value that, when the same data is encountered, is incremented sequentially in the order in which the records are recorded in the recordset. ②dense_rank:12223The Dense_rank function returns a unique value unless all the same data is ranked the same at the time when the same data is encountered. ③rank:12225The rank function returns a unique value, except that when the same data is encountered, all the same dat
first line is unbounded preceding, and the current row is Currentrow, the last line is unbounded following. The window clause appears, and the ORDER BY clause must be specified, such as: Last_value (SAL) Over(Partition byDeptnoOrder bySal rowsbetweenunbounded preceding andunbounded following) The above example specifies that the window is the entire grouping. When the window clause is omitted: a) If an order by is present, the default window is unbounded preceding and CurrentROWB) If an order
t.dept_id, t.sale_date, t.goods_type, t.sale_cnt, SUMover ( ORDERbybetween and current ROW) all_cmp_cntfrom criss_sales TThe results are as follows:With this example, you can see that using analytic functions to solve problems in some scenarios is very intuitive and straightforward.What is an analytic function?
Tags: nbsp Search rank Technology share according to picture Oracl des SeleSuppose there is a student table student, the student table has a name, a score, a course number, and now I need to sort the students ' grades according to the course.SELECT * FROM Student1. Rank over () can be achieved on the student rankings, characterized by the same results as two are tied, as follows 1 2 2 4 5Select Name,CourseRank () Over (partition by course ORDER BY score Desc) as rankfrom student;2. Dense_rank ()
function when using the subquery method, but more trouble, ashamed, I use a subquery some still can not find out.The syntax is as follows:Lag (value_expression [, offset] [, default]) over ([query_partition_clase] order_by_clause);Leads (value_expression [, offset] [, default]) over ([query_partition_clase] order_by_clause);whichValue_expression: Can be a field or a built-in function.Offset is a positive integer, which defaults to 1, indicating the number of records forward or backward. Because
7902 FORD 20 108759 7499 ALLEN 30 16007521 WARD 30 28507654 MARTIN 30 41007698 BLAKE 30 69507844 TURNER 30 84507900 JAMES 30 9400 Rank shows for example the next SELECT empno, ename, Deptno, Sal,rank () over (PARTITION by Deptno ORDER by Sal) as Deptpn_sal from EMP Results 1 7934 MILLER 10 1300.00 12 7782 CLARK 10 2450.00 23 7839 KING 10 5000.00 34 7369 SMITH 20 800.00 15 7876 ADAMS 20 1100.00 26 7566 JONES 20 2975.00 37 7788 SCOTT 20 3000.00 48 7902 FORD 20 3000.00 49 7900 JAMES 30 950.00 176
Label: analytic functions are a new concept introduced in Oracle 8.1.6, providing a simple and efficient way to analyze data. in the analysis function previously, we had to use a self-query, subquery, or inline view, or even a complex stored procedure implementation statement, now as long as a simple SQL statement can be achieved, and there is considerable i
. Assume that the data is 10,9,9,8,8; rank from highest to lowest: 1,2,2,4,4--use as an aggregate function--Suppose a person has a salary of 15500, the following SQL can query 15500 of the payroll rankingsSelectRank15500) withinGroup(Order bysalary) fromemployees E;--use as an analysis function--check everyone's salary and salary rankingsSelectE.last_name, E.salary, e.manager_id, rank () Over(Order bye.salary) fromEmployees E;3.8 Row_number can only be used as an
the same at the same time, and the rank between the last same record and the next record rank is vacated.Map instructions in turn: It can be seen that the data encountered by rownum, whether or not they are the same, are sorted in order; Dense_rank when the same data is encountered, the same data is ranked the same, but the corresponding ranking is vacated; rank has the same data when it encounters the same data and does not empty the corresponding rankings.The over () function cannot be use
analytic functions provide a much quicker way to check gaps. They enable you to still see the next line (lead) or the previous line (LAG) values while using full, set-oriented SQL processing.
The following are the formats for these functions:
{lead | LAG} (value_expression, offset, default) over
([PARTITION to expr] order by expr)
Typically, a value_express
Tags: ACL tween pre from GES. com Understanding First SeleThe literal meaning of First_value () and Last_value () is intuitive, taking the values of the records.Example: Query department The earliest occurrence of sales record date and recent sales record date Select
dept_id
, Sale_date
, Goods_type
, sale_cnt
over byorder by sale_date) First_value
throughorderbydesc ) Last_value
from Criss_sales; Look at the results first_value () very intuitive, no more
Ratio_to_report--List Sales totals per month of the previous year, year-end sales, and monthly sales as a percentage of total annual sales--method ①:SelectAll_sales.*, - * round(Cust_sales/Region_sales,2)|| '%' Percent from (SelectO.CUST_NBR customer,o.region_id Region,sum(o.tot_sales) cust_sales,sum(sum(O.tot_sales)) Over(Partition byo.region_id) Region_sales fromorders_tmp owhereO. Year = 2001 Group byo.region_id, O.CUST_NBR) all_saleswhereAll_sales.cust_sales>All_sales.region_sales* 0.2;--m
--Check the salary rankings of all teachers--rank (): Same row with equal values, followed by rank jumpsSelect Tname,sal,Rank () Over (order by Sal) as salary rankFrom teacher--dense_rank (): The same row with equal values, followed by successive rankingsSelect Tname,sal,Dense_rank () Over (order by Sal) as salary rankingFrom teacher--row_number: The returned rank is contiguous regardless of the value equalitySelect Tname,sal,deptno,Row_number () Over (order by Sal) as salary rankingFrom teacher
. No groupingExplain:Sequencing has continuity: Dense_rank () Over (Order by column), for example: 1, 2, 2, 3, 3, 3, 4Sort without continuity: rank () Over (Order by column), for example: 1, 2, 2, 4, 4, 4, 4, 8Query a subject for all student grades, from high to Low: note: The order by default is sorted in ascending order, and Desc is descending from high to lowDense_rank () Over (Order by column):Select Over (orderbydesc) Ranknum,s.studentid,s.score from S_score S where = ' A '; Rank () Over
There are two main analytic functions used in the work, one is sum () over (partition by ... order by ...) The other one is lead (lag) over (|partition By|order by)Sum does not need to say much, mainly by the partition by the field, the total, the return of a number of rows, rather than as a group by just return a row.The lead (lag) is a sort of order by, in the range within partition by, and down (up) to t
as Wages from
employ;
The results of the query are as follows:
ordinal name Department salary
1 Zhaohong Technical Department
2 John Marketing Department 4000
3 Wang Lan Technical Department 4000
4 Dick Marketing Department 5000
5 Li Bai Technical Department 5000
6 Harry Marketing Department (NULL)
See the above row_number () over (). A lot o
In fact, it's a good way to work with analytic functions, flipping through Tom's book and including one of the examples here. For example, to query the Scott.emp table for user Sal ordering information, you can use the following query: SQL> SELECTDeptno, ename,2Row_number () Over(PARTITION byDeptnoORDER bySalDESC) Seq3 fromEMP; DEPTNO ename SEQ---------- ---------- ---------- TenKING1 Ten
Hive There are a number of analytic functions available to complete the responsible statistical analysis. This article first describes the sum , AVG , MIN , the four functions of Max . Environmental information:Hive version number is Apache-hive-0.14.0-binHadoop version number is hadoop-2.6.0Tez version number is tez-0.7.0To construct the data:p088888888888,2016-
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.