久久机这里只有精品,国产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+覆蓋行業
  • 最新熱門源碼技術文章

    主站蜘蛛池模板: 上犹县| 泌阳县| 丹凤县| 黔东| 石台县| 潼南县| 山东省| 若尔盖县| 阿尔山市| 通化县| 苗栗县| 沧州市| 尉犁县| 和政县| 民乐县| 新泰市| 科技| 汝南县| 洱源县| 东海县| 屯昌县| 虎林市| 平阴县| 儋州市| 鹤山市| 神木县| 家居| 房产| 藁城市| 新沂市| 衡东县| 阿克陶县| 宁波市| 永嘉县| 阿鲁科尔沁旗| 青川县| 漠河县| 宝坻区| 新邵县| 通山县| 建始县|