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

最新活動(dòng):電腦PC端+手機(jī)端+微網(wǎng)站+自適應(yīng)網(wǎng)頁多模板選擇-建站388元起價(jià)?。。?
當(dāng)前位置:主頁 > 網(wǎng)站建設(shè) > SQL中Group分組獲取Top N方法實(shí)現(xiàn)可首選row_number建站

SQL中Group分組獲取Top N方法實(shí)現(xiàn)可首選row_number建站

時(shí)間:2023-05-24 08:05:24 閱讀: 文章分類: 網(wǎng)站建設(shè) 作者: 建站小能手

導(dǎo)讀:1建站知識統(tǒng)計(jì)每個(gè)城市的最新10個(gè)產(chǎn)品本文采用了游標(biāo)方法/Count查詢/cross apply方法/row_number方法等等對比不難發(fā)現(xiàn)Group獲取Top網(wǎng)站建設(shè)網(wǎng)站建設(shè)多少錢。

網(wǎng)站建設(shè)網(wǎng)站建設(shè)多少錢有產(chǎn)品表,包含網(wǎng)站seo優(yōu)化診斷工具id,name,city,addtime四個(gè)字段,因報(bào)表需要按城市分組,統(tǒng)計(jì)每個(gè)城市的最新10個(gè)產(chǎn)品,便向該表中插入了100萬數(shù)據(jù),做了如下系列測試:

復(fù)制代碼 代碼如下:

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方法,執(zhí)行5次,平均下來8秒左右,速度最快。

復(fù)制代碼 代碼如下:

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

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

復(fù)制代碼 代碼如下:

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查詢,只執(zhí)行了兩次,第一次執(zhí)行到5分鐘時(shí),取消任務(wù)執(zhí)行了;第二次執(zhí)行到13分鐘時(shí),沒有hold住又直接停止了,實(shí)在無法忍受。

復(fù)制代碼 代碼如下:

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、采用游標(biāo)方法,這個(gè)最后測試的,執(zhí)行了5次,每次都是10秒完成,感覺還不錯(cuò)。

復(fù)制代碼 代碼如下:

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 網(wǎng)站建設(shè)教程mycursor Select * from #Top order by city asc,addtime desc drop table #Top

通過上述對比不難發(fā)現(xiàn),在面臨Group獲取Top N場景時(shí),可以首選row_number,游標(biāo)cursor其次,另外兩個(gè)就基本不考慮了,數(shù)據(jù)量大的時(shí)候根本沒法使用。相關(guān)網(wǎng)站建設(shè)網(wǎng)站建設(shè)多少錢。

關(guān)鍵詞標(biāo)簽: 標(biāo)簽 SQL 首選

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

我的IDC 網(wǎng)站建設(shè)技術(shù)SEOUC.COM
專注網(wǎng)站建設(shè),SEO優(yōu)化,小程序設(shè)計(jì)制作搭建開發(fā)定制網(wǎng)站等,數(shù)千家網(wǎng)站定制開發(fā)案例,網(wǎng)站推廣技術(shù)服務(wù)。
  • 5000+合作客服
  • 8年從業(yè)經(jīng)驗(yàn)
  • 150+覆蓋行業(yè)
  • 最新熱門源碼技術(shù)文章

    主站蜘蛛池模板: 农安县| 静乐县| 开化县| 桦南县| 方山县| 峨眉山市| 瑞昌市| 钟山县| 甘孜| 和龙市| 河池市| 屏东市| 体育| 秦安县| 台北市| 安福县| 通道| 崇明县| 新和县| 平阳县| 芦山县| 建昌县| 德兴市| 吴旗县| 大港区| 云南省| 天镇县| 本溪市| 安阳县| 临邑县| 北票市| 澄迈县| 镇原县| 莒南县| 霍林郭勒市| 吉木乃县| 威信县| 庄河市| 通城县| 土默特左旗| 佛冈县|