. 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
by sum(Customer_sales)descNULLS last) rank fromUser_orderGroup byregion_id, customer_id)whereRank 3;--min Keep First last find customers with the highest and lowest order total--min can only be used for Dense_rank--the Min function is used to guarantee that a unique record is returned when there are multiple first/last cases, and the error is removed .--the role of Keep. Tells Oracle to keep only records that meet the keep criteria. Select min(cust
month, area,
Max (personincome) over (partition by Earnmonth,area) highest value,
min (personincome) over (partition by Earnmonth,area) lowest value,
avg (personincome) over (partition by Earnmonth,area) average,
sum (personincome) over (partition by Earnmonth,area) Total
From earnings;
The results are as follows:(ten) Lag and lead functionsFind out if each worker is earning money last month and next month (Personincome is more than 0)SQL
Tags: src return inf same IMA body height img Share1. RANKThe--rank function returns a unique value that, when the same data is encountered, ranks the same as the last and next rank between the same data.Column:2, Dense_rank--Returns a unique value that, when the same data is encountered, ranks the same, encounters different data, does not empty the rank, but increments.Column:3, Row_number--return unique values, same data, rank different, increment, seeColumn:The role and difference of
) 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
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 exp
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
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
Intersect operator returns only the public rows of two queries. The minus operator returns the rows that appear in the second query from the first query result. >select OrderNo from Order_master minus select OrderNo from Order_Detail; Join operator The join operator is used to combine multiple strings or data values into a single string >select (venname| | ' The address is ' | | venadd1| | ' ' | | venadd2| | ' ' | | VENADD3) address from Vendor_master where vencode= ' v001 '; --by using
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
SQL single-line functions in Oracle databases-character FunctionsThis learning is about character functions.Character FunctionsCharacter functions can also be divided into case-insensitive conversion functions and character processing functions.Case-sensitive conversion func
Oracle Database SQL single-row functions-date functionsPrefaceThe date functions of the Oracle database are very powerful and relatively large. I will sort it out for future reference.. Convenience for yourself and convenience for others!Common date functions1. Sysdate: curr
I. oracle basic SQL statements and functions, and oraclesql Functions
I. Data Definition Language (ddl)
Data definition language (ddl) is used to change the database structure, including creating, changing, and deleting database objects.
The Data Definition Language commands used to manipulate the table structure inclu
PL/SQL single-line functions and group functionsA function is a program that has 0 or more parameters and has a return value. Oracle has built a series of functions in SQL, which can be called SQL or PL/
SQL single-row functions in Oracle databases-continued character FunctionsI practiced some character functions in the previous blog, and then I went to the next blog to read the relevant materials.The character function has not been practiced yet. This time, we mainly perform some supplementary exercises on some unused
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.