特定の文字列を検索し、説明フィールドにその文字列が含まれるリストを作成するように依頼されました。問題ない。この場合、LIKE '%man%' を使用すると、'man' を含む一連のレコードが得られました。これは、'manage'、'management'、'mankind' などの出現も示します。'man' を含む単語のリストと出現回数を含むレコードセットを探したいと思います。これは SQL 2008 で可能ですか? もしそうなら、あなたは私を正しい方向に向けることができますか?
3 に答える
0
いかがですか:
CREATE TABLE #temp
(
[Description] varchar(250)
)
INSERT INTO #temp
VALUES
('a small step for mankind'),
('my manager says'),
('you might manage to purchase this'),
('try to manage this'),
('he was a small man'),
('no woman no cry'),
('no words can describe')
;
WITH CTE
As
(
SELECT *, CHARINDEX('man',[Description] ) startPos, CHARINDEX(' ', [Description], CHARINDEX('man',[Description] )) endPos
FROM #temp
WHERE [Description] LIKE '%man%'
),
WordCTE
AS
(
SELECT [Description],
CASE
WHEN endPos = 0 THEN SUBSTRING([Description], startpos, 100)
ELSE SUBSTRING([Description], startpos, endPos - startPos)
END AS [Word]
FROM CTE
)
SELECT [Word], COUNT(*)
FROM WordCTE
GROUP BY [Word]
于 2014-12-18T17:43:38.810 に答える
0
こんなものが欲しかったんだと思います。
create table Words(text varchar(50))
insert into Words Values('man')
insert into Words Values('management')
insert into Words Values('man')
insert into Words Values('management')
insert into Words Values('mankind')
insert into Words Values('manpower')
select temptable.text, count(temptable.text) as 'count'
from
(select text
from Words
where text like '%man%') as temptable
group by temptable.text
于 2014-12-18T17:56:27.480 に答える