У меня есть таблица вроде этого:INSERT INTO ... SELECT ... дублированием KEY
CREATE TABLE `UserTmp` (
`user_id` bigint(20) unsigned NOT NULL,
`nb_invit` bigint(20) unsigned DEFAULT '0',
`nb_share` bigint(20) unsigned DEFAULT '0',
`nb_sent` bigint(20) unsigned DEFAULT '0',
`total` bigint(20) unsigned DEFAULT '0',
PRIMARY KEY (`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
И я хочу, чтобы выполнить 3 запросов, как этот (по одному на стол, чтобы иметь nb_share, nb_invit и nb_sent):
INSERT INTO UserTmp (user_id, nb_share)
select user_id, count(share_date) as 'nb_share'
from Share
where share_date between '2012-05-21 00:00:00' and '2012-05-28 00:00:00'
ON DUPLICATE KEY UPDATE nb_share=VALUES(nb_share);
с nb_share поля равно числом доли curent пользователя, который существует в таблице, и требуется обновление
цель состоит в том, чтобы иметь список пользователей с ними номерами действия d полное поле, которое является суммой действий, выполняемых пользователем.
VALUES (nb_share) швов, чтобы дать мне общее количество nb_share для всех пользователей, а не для текущего пользователя.
У вас есть идея решить эту проблему?
Благодаря