Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Подсчет значений в одной таблице (Александр) 06/12/2003 - 11:30:16



From: Александр - 06/12/2003 - 11:30:16
Subject:Подсчет значений в одной таблице
-----------------
Есть таблица
CREATE TABLE article_search (
article_main tinyint(1) default NULL,
article_id int(11) NOT NULL default '0',
article_word varchar(255) NOT NULL default '',
article_sessid varchar(255) NOT NULL default '',
KEY article_word (article_word)
) TYPE=MyISAM;

Сейчас в ней есть записи:

article_main article_id article_word article_sessid
1 597 иностранного капитала 29229cbc86c0c829bd8d2797cf31b5d7
1 445 иностранного капитала 29229cbc86c0c829bd8d2797cf31b5d7
1 444 иностранного капитала 29229cbc86c0c829bd8d2797cf31b5d7
1 98 иностранного капитала 29229cbc86c0c829bd8d2797cf31b5d7
-1 0 иностранного капитала
-1 0 иностранного капитала
-1 0 иностранного капитала
-1 0 2003

Эта таблица записывает запросы пользователей: какие слова были набраны в поиске и каков результат поиска. Если article_main =-1, то значит совпадений не найдено, что отражается в столбце article_id=0. Если совпадения есть, то article_main=1, а в article_id записываются id статей, где найдены совпадения.

ЗАДАЧА: Надо составить запрос с результатом в таблице вида
№ = искомое слово = Совпадений = Запросов этого слова

Уже третий день пытаюсь сделать запрос. Самый ближайший вариант получается запросом
$sql = "SELECT article_word AS article_word, COUNT(DISTINCT article_sessid) AS zaprosov, COUNT(DISTINCT article_id) AS sovp FROM $t_article_s GROUP BY article_word ORDER BY zaprosov desc LIMIT 0,1000";

Правильные значения
1 = иностранного капитала = 4 = 4
2 = 2003 = 0 = 1

А получается
1 = иностранного капитала = 5 = 2
2 = 2003 = 1 = 1

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



[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
12042



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |