X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Подсчет одинаковых ячеек в таблице
FordogeN
FordogeN
Topic Starter сообщение 22.11.2008, 3:16; Ответить: FordogeN
Сообщение #1


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


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ilyazh
ilyazh
сообщение 22.11.2008, 21:04; Ответить: ilyazh
Сообщение #2


Я тоже бы хотел узнать ответ на данный вопрос, но могу сказать одно.
Надо использовать 2 таблицы - в первой хранить слова, как вы хотите, а во второй слово и сколько раз оно встречается.
Т.к. каждый раз перебирать все записи и считать их - не слабая нагрузка. Поэтому лучше сделать скрипт, который пересчитывает и записывает результаты в другую таблицу. Скрипт запускать кроном, например раз в 6 часов, чтобы он обновлял результаты. А на сайте выводить из второй таблицы чтобы нагрузка была минимальной.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FordogeN
FordogeN
Topic Starter сообщение 23.11.2008, 0:30; Ответить: FordogeN
Сообщение #3


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

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


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 23.11.2008, 11:25; Ответить: ZiTosS
Сообщение #4


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

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

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

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


А теперь замечания
Если ты при группировке по какому-либо полю попытаешься вывести другие поля, то в данных полях будет содержаться информация первой записи для каждой группировки. Поэтому группировка обычно используется для объединения и подсчета данных. И используются данные поля по которому группируем, либо специально созданные нами для уточнения каких-либо данных(в нашем примере это поле count)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FordogeN
FordogeN
Topic Starter сообщение 23.11.2008, 14:13; Ответить: FordogeN
Сообщение #5


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

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

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


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 23.11.2008, 16:13; Ответить: ZiTosS
Сообщение #6


Хех, а я тебе тоже самое выше написал :) Притом ты не говорил, что тебе нужно объединить таблицы
А что за нулед я не понял?!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ilyazh
ilyazh
сообщение 23.11.2008, 17:05; Ответить: ilyazh
Сообщение #7


наверно _nulled.ws
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FordogeN
FordogeN
Topic Starter сообщение 23.11.2008, 19:47; Ответить: FordogeN
Сообщение #8


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

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыКак сделать подсчет рейтинга плюсов и минусов на wordpress?
9 prolisk 9361 17.10.2016, 18:08
автор: prolisk
Открытая тема (нет новых ответов) Как переместить значения ячеек таблицы при клике на первую (Javascript, Ajax, jQuery)
2 anethum 6736 2.9.2013, 13:08
автор: -RayOfLight-
Открытая тема (нет новых ответов) Помогите сделать подсчет в таблице из из базы данных на сайте
2 Сергей климанов 3284 13.7.2012, 23:40
автор: -Сергей климанов-
Открытая тема (нет новых ответов) Увеличивается высота строк в таблице
2 Rugstad 6400 2.4.2011, 15:14
автор: -Rugstad-
Открытая тема (нет новых ответов) Как поднять таблицу в таблице?
13 Павел Кушнарев 30173 29.3.2011, 16:52
автор: -born-


 



RSS Текстовая версия Сейчас: 28.3.2024, 13:34
Дизайн