国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

分拆統計字符串

2024-07-21 02:07:50
字體:
來源:轉載
供稿:網友

在數據庫表tbl1中有一個字段keywords,它是nvarchar類型,長度為1000,該字段的內容是所要分析的論文的關鍵字id                        keywords -----------------------------------------------------------1                          kw1;kw2;kw32                          kw2;kw33                          kw3;kw1;kw4

問題1。對于在keywords字段中出現的所有關鍵字集合(上例中關鍵字集合為{kw1,kw2,kw3,kw4})中的任意一個關鍵字,要統計它出現的次數(也就是包含該關鍵字的紀錄的條數),然后寫到另一張表中。最后的效果就是keywords       count-------------------------kw1              2kw2              2kw3              3kw4              1

問題2。在此基礎上,要進行組合查詢。也就是說在整個關鍵字集合中任意抽出兩個關鍵字,統計它們在數據庫表紀錄中同時出現的次數。對于上題,最后效果要是:keywords             count----------------------------------kw1;kw2                1kw1;kw3                2kw1;kw4                1kw2;kw3                2kw2;kw4                0kw3;kw4                1

--------------------------------------------------------------------------------------

--統計示例

--為統計處理專門做的序數表select top 1000 id=identity(int,1,1) into 序數表 from syscolumns a,syscolumns balter table 序數表 add constraint pk_id_序數表 primary key(id)go

--示例數據create table tbl1(id int,keywords nvarchar(1000))insert tbl1 select 1,'kw1;kw2;kw3'union  all  select 2,'kw2;kw3'union  all  select 3,'kw3;kw1;kw4'go

--第一種統計(計數)select keyword=substring(a.keywords,b.id,charindex(';',a.keywords+';',b.id)-b.id) ,[count]=count(distinct a.id)from tbl1 a,序數表 bwhere b.id<=len(a.keywords) and substring(';'+a.keywords,b.id,1)=';'group by substring(a.keywords,b.id,charindex(';',a.keywords+';',b.id)-b.id)go

--第二種統計(組合統計)select keyword=substring(a.keywords,b.id,charindex(';',a.keywords+';',b.id)-b.id) ,[count]=count(distinct a.id),a.idinto #tfrom tbl1 a,序數表 bwhere b.id<=len(a.keywords) and substring(';'+a.keywords,b.id,1)=';'group by substring(a.keywords,b.id,charindex(';',a.keywords+';',b.id)-b.id),a.id

select keyword=a.keyword+';'+b.keyword,[count]=sum(case a.id when b.id then 1 else 0 end)from #t a,#t bwhere a.keyword<b.keywordgroup by a.keyword,b.keywordorder by keyword

drop table #tgo

--刪除測試環境drop table tbl1,序數表

/*--測試結果

--統計1keyword    count   ---------- --------kw1        2kw2        2kw3        3kw4        1

(所影響的行數為 4 行)

--統計2keyword                 count      ----------------------- -----------kw1;kw2                 1kw1;kw3                 2kw1;kw4                 1kw2;kw3                 2kw2;kw4                 0kw3;kw4                 1

(所影響的行數為 6 行)--*/


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 竹北市| 鲁山县| 女性| 邵阳县| 东安县| 平塘县| 鄱阳县| 郧西县| 宜昌市| 钟山县| 万盛区| 华安县| 武川县| 紫阳县| 建宁县| 平谷区| 龙陵县| 武强县| 桂林市| 黔西| 民勤县| 农安县| 诸暨市| 廉江市| 九寨沟县| 芒康县| 阳高县| 都匀市| 武宣县| 五莲县| 商丘市| 晋江市| 达日县| 项城市| 绥江县| 福海县| 隆尧县| 涞源县| 迁安市| 宣化县| 祁阳县|