Перейти к содержимому

Сервис обмена электронных валют


Подсчет одинаковых ячеек в таблице

#1 FordogeN

FordogeN
  • Пользователь
  • 1 414 сообщений
  • Репутация: 0
0

Отправлено 22 Ноябрь 2008 - 02:16

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

 

 

  • 0

Как настроить выдержку и диафрагму зеркального фотоаппарата



#2 ilyazh

ilyazh
  • Пользователь
  • 356 сообщений
  • Репутация: 1

Отправлено 22 Ноябрь 2008 - 20:04

Я тоже бы хотел узнать ответ на данный вопрос, но могу сказать одно.
Надо использовать 2 таблицы - в первой хранить слова, как вы хотите, а во второй слово и сколько раз оно встречается.
Т.к. каждый раз перебирать все записи и считать их - не слабая нагрузка. Поэтому лучше сделать скрипт, который пересчитывает и записывает результаты в другую таблицу. Скрипт запускать кроном, например раз в 6 часов, чтобы он обновлял результаты. А на сайте выводить из второй таблицы чтобы нагрузка была минимальной.
  • 0

#3 FordogeN

FordogeN
    Topic Starter
  • Пользователь
  • 1 414 сообщений
  • Репутация: 0

Отправлено 22 Ноябрь 2008 - 23:30

Я тоже бы хотел узнать ответ на данный вопрос, но могу сказать одно.
Надо использовать 2 таблицы - в первой хранить слова, как вы хотите, а во второй слово и сколько раз оно встречается.
Т.к. каждый раз перебирать все записи и считать их - не слабая нагрузка. Поэтому лучше сделать скрипт, который пересчитывает и записывает результаты в другую таблицу. Скрипт запускать кроном, например раз в 6 часов, чтобы он обновлял результаты. А на сайте выводить из второй таблицы чтобы нагрузка была минимальной.

Да, но есть две проблемы:
1. Я не умею:)
2. У меня веб-сервис, на котором желательно чтоб все обновлялось моментально!
  • 0

Как настроить выдержку и диафрагму зеркального фотоаппарата



#4 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 23 Ноябрь 2008 - 10:25

Извиняюсь что так долго не отвечал. И так...

Я тоже бы хотел узнать ответ на данный вопрос, но могу сказать одно.
Надо использовать 2 таблицы - в первой хранить слова, как вы хотите, а во второй слово и сколько раз оно встречается.
Т.к. каждый раз перебирать все записи и считать их - не слабая нагрузка. Поэтому лучше сделать скрипт, который пересчитывает и записывает результаты в другую таблицу. Скрипт запускать кроном, например раз в 6 часов, чтобы он обновлял результаты. А на сайте выводить из второй таблицы чтобы нагрузка была минимальной.

Глупости!
SQL очень развитый язык, и схема определения количества повторяющихся полей довольна проста
SELECT [поле], COUNT([поле]) as count FROM [таблица] GROUP BY([поле]) ORDER BY count DESC
А теперь объясняю

Выбираем из таблицы [таблица] записи(в данном варианте все записи), по полю [поле], также присоединяем к выбору поле с количеством элементов, предварительно сгруппировав записи по полю [поле], далее сортируем по количеству в обратном порядке


А теперь замечания
Если ты при группировке по какому-либо полю попытаешься вывести другие поля, то в данных полях будет содержаться информация первой записи для каждой группировки. Поэтому группировка обычно используется для объединения и подсчета данных. И используются данные поля по которому группируем, либо специально созданные нами для уточнения каких-либо данных(в нашем примере это поле count)
  • 0

#5 FordogeN

FordogeN
    Topic Starter
  • Пользователь
  • 1 414 сообщений
  • Репутация: 0

Отправлено 23 Ноябрь 2008 - 13:13

У меня вышел такой запрос:

table1 - таблица с записями
table2 - таблица, в которой повторяются Id

SELECT table1.e_id, table1.w_id, table1.title, table1.contents, COUNT(table1.e_id) AS cnt FROM table1 LEFT JOIN table2 ON table1.e_id=table2.e_id WHERE table2.e_id IS NOT NULL GROUP BY table1.e_id ORDER BY cnt DESC LIMIT 20

Получился модуль который выводит в виде топа самые комментируемые записи!
www.livekeep.ru - в правом нижнем углу смотрите


А вот запрос по сабжу:
SELECT field1, COUNT(field1) AS cnt FROM table1 GROUP BY field1 ORDER BY cnt DESC LIMIT 10

зы. С обоими запросами помог парниша с нуледа.
  • 0

Как настроить выдержку и диафрагму зеркального фотоаппарата



#6 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 23 Ноябрь 2008 - 15:13

Хех, а я тебе тоже самое выше написал :) Притом ты не говорил, что тебе нужно объединить таблицы
А что за нулед я не понял?!
  • 0

#7 ilyazh

ilyazh
  • Пользователь
  • 356 сообщений
  • Репутация: 1

Отправлено 23 Ноябрь 2008 - 16:05

наверно _nulled.ws
  • 0

#8 FordogeN

FordogeN
    Topic Starter
  • Пользователь
  • 1 414 сообщений
  • Репутация: 0

Отправлено 23 Ноябрь 2008 - 18:47

да, nulled.ws
зы. как на мну самый толковый форум по нашей теме
  • 0

Как настроить выдержку и диафрагму зеркального фотоаппарата



robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru