Похоже, вы пытаетесь найти частоту "зеленых" ключевых слов?
Предположим, что ваши таблицы выглядели так
(Укажите полное и точное описание.):
CREATE TABLE mytable (item VARCHAR(40), keyword VARCHAR(100) )
INSERT INTO mytable (item, keyword)
SELECT 'room 01', 'Green' UNION ALL
SELECT 'room 02', 'Green' UNION ALL
SELECT 'room 03', 'Green' UNION ALL
SELECT 'room 04', 'Army Green' UNION ALL
SELECT 'room 05', 'Army Green' UNION ALL
SELECT 'room 06', 'Hunter Green' UNION ALL
SELECT 'room 07', 'Some Other Color'
.
Тогда желаемые результаты получаются путем:
SELECT keyword, COUNT (item) AS cnt
FROM mytable
WHERE keyword LIKE '%green%'
GROUP BY keyword
ORDER BY cnt DESC
/*
Yields:
keyword cnt
------------ ---
Green 3
Army Green 2
Hunter Green 1
*/
.
Или, если используется полнотекстовое индексирование:
SELECT keyword, COUNT (item) AS cnt
FROM mytable
WHERE (CONTAINS(keyword,' "green" '))
GROUP BY keyword
ORDER BY cnt DESC
.
Если ключевое слово является столбцом text
или ntext
:
SELECT CAST (keyword as VARCHAR(8000)), COUNT (item) AS cnt
FROM mytable
WHERE (CONTAINS(keyword,' "green" '))
GROUP BY CAST (keyword as VARCHAR(8000))
ORDER BY cnt DESC