Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Нужно подсчитать слова
 
 автор: Port_Artur   (08.01.2010 в 00:19)   письмо автору
 
 

есть таблица из 1-го тестового поля. Нужно узнать сколько раз каждое уникальное слово встречается в таблице и сколько этих уникальных слов там вообще.

То есть допусти что там записаны слова :ёлка,год,мороз,снегурочка,год,ёлка,год,мороз.
Встечаются:
ёлка - 2 раза
год - 3 раза
снегурочка - 1 раз
мороз - 2 раза
Уникальные слова:
ёлка, год, снегурочка ,мороз

Вопрос: Можно ли это подсчитать? Если да то как?

Пока писал осенило!!! Может создать ещё 1 таблицу и ри внесении данных в 1 таблицу находить это слово во второй и сразу увеличивать счётчик в соответвующем поле на 1 единицу. Сразу получаем и список уникальных слов.

Как лучше сделать. Считать потом или считать сразу?

  Ответить  
 
 автор: Trianon   (08.01.2010 в 00:29)   письмо автору
 
   для: Port_Artur   (08.01.2010 в 00:19)
 

Вообще-то агрегатная функция COUNT() вкупе с группировкой по значению этого поля вslfcn нужный результат без всяких проблем.

  Ответить  
 
 автор: easywind   (08.01.2010 в 11:57)   письмо автору
 
   для: Trianon   (08.01.2010 в 00:29)
 

Привет.
Можно загнать текст в массив и перебором каждого значения посчитать сколько раз слово встречается в нем. Я такое делал пытался ключевые слова считать для сайта.

  Ответить  
 
 автор: Port_Artur   (08.01.2010 в 14:57)   письмо автору
 
   для: 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";

но результат совсем не то что нужно.

Как сделать то что мне надо никак не пойму.

  Ответить  
 
 автор: Trianon   (08.01.2010 в 15:48)   письмо автору
 
   для: Port_Artur   (08.01.2010 в 14:57)
 

>Нужно выбрать первые 10 наиболее часто встречающихся слов.
>Делаю так (нашёл на этом форуме):
> SELECT `name`, COUNT(*) AS `cnt` FROM `video` GROUP BY `name` ORDER BY `cnt` DESC LIMIT 10
>но результат совсем не то что нужно.

чем не нравится результат?

  Ответить  
 
 автор: easywind   (08.01.2010 в 17:35)   письмо автору
 
   для: Trianon   (08.01.2010 в 15:48)
 

действительно чем не нравится результат? конкретно буквы цифры?

  Ответить  
 
 автор: Port_Artur   (08.01.2010 в 17:41)   письмо автору
 
   для: Trianon   (08.01.2010 в 15:48)
 

результат нравится.

Как теперь выбрать только уникальные?

  Ответить  
 
 автор: easywind   (08.01.2010 в 18:00)   письмо автору
 
   для: Port_Artur   (08.01.2010 в 17:41)
 

Вывод в массив слов которые редко встречаются и сделать сортировку?

  Ответить  
 
 автор: Trianon   (08.01.2010 в 18:05)   письмо автору
 
   для: Port_Artur   (08.01.2010 в 17:41)
 

а они разве не вывелись?

  Ответить  
 
 автор: Port_Artur   (08.01.2010 в 19:17)   письмо автору
 
   для: Trianon   (08.01.2010 в 18:05)
 

Как я понял - надо просто сделать тот же запрос без Limit. Правильно?

  Ответить  
 
 автор: Trianon   (08.01.2010 в 19:19)   письмо автору
 
   для: Port_Artur   (08.01.2010 в 19:17)
 

если не хотите ограничиваться десятью наиболее частыми - конечно.
Если счетчики не нужны и сортировка тоже - можно написать просто:
SELECT DISTINCT `name` FROM `video`

  Ответить  
 
 автор: Port_Artur   (08.01.2010 в 21:12)   письмо автору
 
   для: Trianon   (08.01.2010 в 19:19)
 

Спасибо!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования