Мне было предложено найти определенную строку и создать список, в котором поле описания содержит эту строку. Не проблема. В этом случае я использовал LIKE '% man%' и дал набор записей, содержащих «человек». Это также приводит к появлению «управления», «управления», «человечество» и т. Д. Я бы хотел найти набор записей, содержащий список найденных слов, которые включают «человек» и количество вхождений. Возможно ли это в SQL 2008? Если это так, вы можете указать мне в правильном направлении?Найдите количество слов, содержащих строку из таблицы SQL
1
A
ответ
0
Ваш вопрос довольно расплывчатый, и это совсем не ясно, что вы хотите для вывода. Посмотрите, если что-то подобное указывает вам в правильном направлении.
declare @ValueToFind varchar(20) = 'man'
select *
, ABS((DATALENGTH(replace(SomeValue, @ValueToFind, ''))) - DATALENGTH(SomeValue))/DATALENGTH(@ValueToFind)
from (Values('manage manager manman'), ('management'), ('mankind manfred'), ('none here')) v(SomeValue)
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]
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
Смежные вопросы
- 1. Как разбирать строку слов, содержащих кавычки
- 2. Подсчитайте количество ячеек, содержащих определенную строку
- 3. регулярное выражение, найти строку, исключить список слов, содержащих строку
- 4. Найдите диапазон из таблицы
- 5. SQL Server 2014 Количество слов
- 6. Как найти количество ячеек, содержащих одно или несколько конкретных слов
- 7. Найти количество общих слов в столбцах таблицы SQL?
- 8. У свиньи, как мне подсчитать количество строк, содержащих определенную строку?
- 9. Удаление слов, содержащих цифры из заданной строки
- 10. Найти общее количество слов в каждой строке таблицы SQL
- 11. Как подсчитать количество файлов, содержащих определенную строку, но не содержащих другую строку?
- 12. Проверьте строку, содержащую количество слов в javascript
- 13. Подсчитайте количество вхождений двух слов в строку
- 14. Scala: Разбиваем строку и подсчитать количество слов
- 15. Как обновить количество слов/букв, содержащих какой тип пользователя в поле поиска в списке слов?
- 16. Удалить количество строк из таблицы Transact-SQL
- 17. Поиск всех слов, содержащих заданную подстроку
- 18. Выберите элементы, содержащих определенное количество данного символа (SQL)
- 19. Найти кратчайшую комбинацию слов, содержащих каждый символ из заданного набора
- 20. Найдите, кто изменил таблицы SQL & How?
- 21. Найдите количество конгруэнтных треугольников?
- 22. solr edismax поиск слов, содержащих подстроку
- 23. GREP создать список слов, содержащих sting
- 24. Regex split для слов, содержащих периоды
- 25. Выбор случайных слов из таблицы
- 26. Количества ДИКТ слов, содержащих каждую подстроку
- 27. Получите количество слов в столбце, используя SQL
- 28. SQL count количество слов в поле
- 29. SQL Строка: Подсчет числа слов в строку
- 30. Python Найдите n слов до и после определенных слов
Как вы определяете "слово"? – NoChance
Попробуйте добавить пример данных и ожидаемый результат –
Вы хотите сказать, что хотите подсчитать каждое отдельное слово в списке или просто количество для каждого попадания в пределах одного описания. – KHeaney