|
|
|
| есть таблица из 1-го тестового поля. Нужно узнать сколько раз каждое уникальное слово встречается в таблице и сколько этих уникальных слов там вообще.
То есть допусти что там записаны слова :ёлка,год,мороз,снегурочка,год,ёлка,год,мороз.
Встечаются:
ёлка - 2 раза
год - 3 раза
снегурочка - 1 раз
мороз - 2 раза
Уникальные слова:
ёлка, год, снегурочка ,мороз
Вопрос: Можно ли это подсчитать? Если да то как?
Пока писал осенило!!! Может создать ещё 1 таблицу и ри внесении данных в 1 таблицу находить это слово во второй и сразу увеличивать счётчик в соответвующем поле на 1 единицу. Сразу получаем и список уникальных слов.
Как лучше сделать. Считать потом или считать сразу? | |
|
|
|
|
|
|
|
для: Port_Artur
(08.01.2010 в 00:19)
| | Вообще-то агрегатная функция COUNT() вкупе с группировкой по значению этого поля вslfcn нужный результат без всяких проблем. | |
|
|
|
|
|
|
|
для: Trianon
(08.01.2010 в 00:29)
| | Привет.
Можно загнать текст в массив и перебором каждого значения посчитать сколько раз слово встречается в нем. Я такое делал пытался ключевые слова считать для сайта. | |
|
|
|
|
|
|
|
для: easywind
(08.01.2010 в 11:57)
| | Вот тем же самым и я занимаюсь. Нужно выбрать первые 10 наиболее часто встречающихся слов. И составить список всех уникальных слов в поле name.
Делаю так (нашёл на этом форуме):
$sql = "SELECT `name`, COUNT(*) AS `cnt` FROM `video` GROUP BY `name` ORDER BY `cnt` DESC LIMIT 10";
но результат совсем не то что нужно.
Как сделать то что мне надо никак не пойму. | |
|
|
|
|
|
|
|
для: Port_Artur
(08.01.2010 в 14:57)
| | >Нужно выбрать первые 10 наиболее часто встречающихся слов.
>Делаю так (нашёл на этом форуме):
> SELECT `name`, COUNT(*) AS `cnt` FROM `video` GROUP BY `name` ORDER BY `cnt` DESC LIMIT 10
>но результат совсем не то что нужно.
чем не нравится результат? | |
|
|
|
|
|
|
|
для: Trianon
(08.01.2010 в 15:48)
| | действительно чем не нравится результат? конкретно буквы цифры? | |
|
|
|
|
|
|
|
для: Trianon
(08.01.2010 в 15:48)
| | результат нравится.
Как теперь выбрать только уникальные? | |
|
|
|
|
|
|
|
для: Port_Artur
(08.01.2010 в 17:41)
| | Вывод в массив слов которые редко встречаются и сделать сортировку? | |
|
|
|
|
|
|
|
для: Port_Artur
(08.01.2010 в 17:41)
| | а они разве не вывелись? | |
|
|
|
|
|
|
|
для: Trianon
(08.01.2010 в 18:05)
| | Как я понял - надо просто сделать тот же запрос без Limit. Правильно? | |
|
|
|
|
|
|
|
для: Port_Artur
(08.01.2010 в 19:17)
| | если не хотите ограничиваться десятью наиболее частыми - конечно.
Если счетчики не нужны и сортировка тоже - можно написать просто:
SELECT DISTINCT `name` FROM `video` | |
|
|
|
|
|
|
|
для: Trianon
(08.01.2010 в 19:19)
| | Спасибо! | |
|
|
|