|
MySQL.RU - Webboard
Вернуться
Сумма из бд (SNAK84) 25/12/2010 - 17:43:26
Re: Сумма из бд (Diter) 28/12/2010 - 23:15:38
From: SNAK84 - 25/12/2010 - 17:43:26
Subject:Сумма из бд
-----------------
есть таблица:
CREATE TABLE IF NOT EXISTS `art` (
`id` int(11) NOT NULL auto_increment,
`type` int(3) NOT NULL,
`action` int(11) NOT NULL,
`id_user` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=16 ;
в ней есть несколько записей, мне надо одним запросам посчитать суммы по разным параметрам
Я попытался сделать это так:
SELECT
SUM(a.action) as production,
SUM(b.action) as attack,
SUM(c.action) as structure FROM
".ARTS." as a,
".ARTS." as b,
".ARTS." as c WHERE
(a.type = '1' AND a.id_user = '1') AND
(b.type = '2' AND b.id_user = '1') AND
(c.type = '3' AND c.id_user = '1')
Но если если 1 запись с type=1 и две с type=2 в результате сумма по type=1 умножается на количество записей с type=2
помогите решить задачи так чтобы была минимальная нагрузка.
еще пробывал так:
SELECT SUM(a.action) as aa, SUM(b.action) as ab FROM
(SELECT a.action,a.id_user,a.type FROM ".ARTS." as a WHERE type = '1') a,
(SELECT b.action,b.type FROM ".ARTS." as b WHERE type = '2')
b WHERE a.id_user = '1'
Но результат такой же
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
37811
|
|