|
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,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
12042
|
|