建设网站哪家强,门户网站建立流程,做购物网站费用,国内有做网游评测的网站么ROW_NUMBER()是一个窗口函数或分析函数#xff0c;它为从1开始应用的每一行分配一个序号。 创建表和生成所需要的数据 CREATE TABLE chapter11 ( shopname VARCHAR(255) NULL, sales VARCHAR(255) NULL, sale_date DATE NULL ); INSERT INTO chapter11 (shopname, sales, sal…ROW_NUMBER()是一个窗口函数或分析函数它为从1开始应用的每一行分配一个序号。 创建表和生成所需要的数据 CREATE TABLE chapter11 ( shopname VARCHAR(255) NULL, sales VARCHAR(255) NULL, sale_date DATE NULL ); INSERT INTO chapter11 (shopname, sales, sale_date) VALUES(‘A’, ‘1’, ‘2020-01-01’); INSERT INTO chapter11 (shopname, sales, sale_date) VALUES(‘B’, ‘3’, ‘2020-01-01’); INSERT INTO chapter11 (shopname, sales, sale_date) VALUES(‘C’, ‘5’, ‘2020-01-01’); INSERT INTO chapter11 (shopname, sales, sale_date) VALUES(‘A’, ‘7’, ‘2020-01-02’); INSERT INTO chapter11 (shopname, sales, sale_date) VALUES(‘B’, ‘9’, ‘2020-01-02’); INSERT INTO chapter11 (shopname, sales, sale_date) VALUES(‘C’, ‘2’, ‘2020-01-02’); INSERT INTO chapter11 (shopname, sales, sale_date) VALUES(‘A’, ‘4’, ‘2020-01-03’); INSERT INTO chapter11 (shopname, sales, sale_date) VALUES(‘B’, ‘6’, ‘2020-01-03’); INSERT INTO chapter11 (shopname, sales, sale_date) VALUES(‘C’, ‘8’, ‘2020-01-03’); 1、按照销量进行排序
SELECT * from chapter11 order by sales ;第二种写法
SELECT t.shopname, -- 商店名称 t.sales, -- 销售额 t.sale_date , -- 销售日期
-- 使用 ROW_NUMBER() 函数对结果进行编号按照 sales 列的值进行排序 ROW_NUMBER() over(order by t.sales) as rank_num
FROM chapter11 t2、获取各A、B、C自组内的一个排名结果 SELECT t.shopname, -- 商店名称 t.sales, -- 销售额 t.sale_date, -- 销售日期 -- 使用ROW_NUMBER()函数为每个商店生成一个行号PARTITION by shopname按照商店名称进行分组然后行号的生成基于销售额进行排序 ROW_NUMBER() over(PARTITION by shopname ORDER BY sales) as rm
FROM chapter11 t;#ROW_NUMBER(): 这是一个窗口函数用于为每一行生成一个唯一的数字。 3、获取每个店铺销量最差的一天数据。
SELECT t.shopname, t.sales, t.sale_date
FROM ( SELECT shopname, sales, sale_date, ROW_NUMBER() OVER (PARTITION BY shopname ORDER BY sales ) AS rm FROM chapter11 ) t
WHERE t.rm 1;第二种写法 with sales_bad as(SELECT t.shopname, -- 商店名称 t.sales, -- 销售额 t.sale_date, -- 销售日期 -- 使用ROW_NUMBER()函数为每个商店生成一个行号PARTITION by shopname按照商店名称进行分组然后行号的生成基于销售额进行排序 ROW_NUMBER() over(PARTITION by shopname ORDER BY sales) as rm
FROM chapter11 t;)SELECT * from sales_bad where rm 1