久久机这里只有精品,国产69精品一区二区亚洲孕妇,91精品国产综合久久婷婷香蕉,午夜久久久久久电影

最新活動:電腦PC端+手機端+微網站+自適應網頁多模板選擇-建站388元起價?。。?
當前位置:主頁 > 網站建設 > SQL中Group分組獲取Top N方法實現可首選row_number建站

SQL中Group分組獲取Top N方法實現可首選row_number建站

時間:2023-05-24 08:05:24 閱讀: 文章分類: 網站建設 作者: 建站小能手

導讀:1建站知識統計每個城市的最新10個產品本文采用了游標方法/Count查詢/cross apply方法/row_number方法等等對比不難發現Group獲取Top網站建設網站建設多少錢。

網站建設網站建設多少錢有產品表,包含網站seo優化診斷工具id,name,city,addtime四個字段,因報表需要按城市分組,統計每個城市的最新10個產品,便向該表中插入了100萬數據,做了如下系列測試:

復制代碼 代碼如下:

CREATE TABLE [dbo].[products]( [id] [int] IDENTITY(1,1) NOT NULL, [name] [nvarchar](50) NULL, [addtime] [datetime] NULL, [city] [nvarchar](10) NULL, CONSTRAINT [PK_products] PRIMARY KEY CLUSTERED ( [id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]

1、采用row_number方法,執行5次,平均下來8秒左右,速度最快。

復制代碼 代碼如下:

select no, id,name,city from (select no =row_number() over (partition by city order by addtimseo網站優化e desc), * from products)t where no< 11 order by city asc,addtime desc

2、采用cross apply方法,執行了3次,基本都在3分5秒以上,已經很慢了。

復制代碼 代碼如下:

select distinct b.id,b.name,b.city from products a cross apply (select top 10 * from products where city = a.city order by addtime desc) b

3、采用Count查詢,只執行了兩次,第一次執行到5分鐘時,取消任務執行了;第二次執行到13分鐘時,沒有hold住又直接停止了,實在無法忍受。

復制代碼 代碼如下:

select id,name,city from products a where ( select count(city) from products where a.city = city and addtime>a.addtime) < 10 order by city asc,addtime desc

4、采用游標方法,這個最后測試的,執行了5次,每次都是10秒完成,感覺還不錯。

復制代碼 代碼如下:

declare @city nvarchar(10) create table #Top(id int,name nvarchar(50),city nvarchar(10),addtime datetime) declare mycursor cursor for select distinct city from products order by city asc open mycursor fetch next from mycursor into @city while @@fetch_status =0 begin insert into #Top select top 10 id,name,city,addtime from products where city = @city fetch next from mycursor into @city end close mycursor deallocate 網站建設教程mycursor Select * from #Top order by city asc,addtime desc drop table #Top

通過上述對比不難發現,在面臨Group獲取Top N場景時,可以首選row_number,游標cursor其次,另外兩個就基本不考慮了,數據量大的時候根本沒法使用。相關網站建設網站建設多少錢。

關鍵詞標簽: 標簽 SQL 首選

聲明: 本文由我的SEOUC技術文章主頁發布于:2023-05-24 ,文章SQL中Group分組獲取Top N方法實現可首選row_number建站主要講述首選,標簽,SQL網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_6489.html

我的IDC 網站建設技術SEOUC.COM
專注網站建設,SEO優化,小程序設計制作搭建開發定制網站等,數千家網站定制開發案例,網站推廣技術服務。
  • 5000+合作客服
  • 8年從業經驗
  • 150+覆蓋行業
  • 最新熱門源碼技術文章

    主站蜘蛛池模板: 滨州市| 平罗县| 天台县| 得荣县| 塔城市| 炉霍县| 伊川县| 滨海县| 保亭| 石城县| 五家渠市| 龙州县| 抚顺市| 内乡县| 台东市| 霍林郭勒市| 长治县| 兰溪市| 江达县| 巴楚县| 额济纳旗| 大连市| 中阳县| 河间市| 大港区| 淮安市| 绩溪县| 广水市| 宁波市| 义乌市| 尼勒克县| 大方县| 荔浦县| 新宁县| 桐城市| 阜康市| 临安市| 宜州市| 成安县| 监利县| 奇台县|