par
Const » 13 févr. 2010, 13:16
Bonjour, voici ma table :
CREATE TABLE `emails` (
`emails_id` int(11) NOT NULL auto_increment,
`client_id` int(11) NOT NULL,
`emails_imap` varchar(75) NOT NULL,
`emails_headers` text NOT NULL,
`emails_type` varchar(20) NOT NULL,
`emails_date` int(11) NOT NULL,
`emails_date_l` date NOT NULL,
`emails_subject` varchar(250) NOT NULL,
`emails_message_id` varchar(250) NOT NULL,
`emails_to` varchar(250) NOT NULL,
`emails_from` varchar(250) NOT NULL,
`emails_no` int(11) NOT NULL,
`emails_size` int(11) NOT NULL,
`emails_udate` int(11) NOT NULL,
`emails_maildate` int(11) NOT NULL,
`emails_charset` varchar(15) NOT NULL,
PRIMARY KEY (`emails_id`),
KEY `artiste_id` (`artiste_id`)
) ENGINE=MyISAM AUTO_INCREMENT=2535 DEFAULT CHARSET=utf8 AUTO_INCREMENT=2535 ;
J'y enregistre des emails donc.
Mon but est de savoir combien je reçois d'email par jour. Mon problème est que j'ai, en champs "date", une valeur 'time()' donc je ne peux pas faire ce que je sais faire, c'est à dire :
SELECT COUNT(*) AS `nb`, `emails_date` AS `date` FROM `emails` WHERE `emails_date` >= '" . strtotime('2009-01-01') . "' AND `emails_date` <= '" . strtotime('2009-12-31') . "' GROUP BY `emails_date` ORDER BY `emails_date` ASC
Car, et c'est normal, il me groupe les résultats, par seconde. Avez-vous une idée pour pouvoir les grouper par jour en utilisant un champs contenant une valeur time() ?
Merci !
Bonjour, voici ma table :
[sql]CREATE TABLE `emails` (
`emails_id` int(11) NOT NULL auto_increment,
`client_id` int(11) NOT NULL,
`emails_imap` varchar(75) NOT NULL,
`emails_headers` text NOT NULL,
`emails_type` varchar(20) NOT NULL,
`emails_date` int(11) NOT NULL,
`emails_date_l` date NOT NULL,
`emails_subject` varchar(250) NOT NULL,
`emails_message_id` varchar(250) NOT NULL,
`emails_to` varchar(250) NOT NULL,
`emails_from` varchar(250) NOT NULL,
`emails_no` int(11) NOT NULL,
`emails_size` int(11) NOT NULL,
`emails_udate` int(11) NOT NULL,
`emails_maildate` int(11) NOT NULL,
`emails_charset` varchar(15) NOT NULL,
PRIMARY KEY (`emails_id`),
KEY `artiste_id` (`artiste_id`)
) ENGINE=MyISAM AUTO_INCREMENT=2535 DEFAULT CHARSET=utf8 AUTO_INCREMENT=2535 ;[/sql]
J'y enregistre des emails donc.
Mon but est de savoir combien je reçois d'email par jour. Mon problème est que j'ai, en champs "date", une valeur 'time()' donc je ne peux pas faire ce que je sais faire, c'est à dire :
[sql]SELECT COUNT(*) AS `nb`, `emails_date` AS `date` FROM `emails` WHERE `emails_date` >= '" . strtotime('2009-01-01') . "' AND `emails_date` <= '" . strtotime('2009-12-31') . "' GROUP BY `emails_date` ORDER BY `emails_date` ASC[/sql]
Car, et c'est normal, il me groupe les résultats, par seconde. Avez-vous une idée pour pouvoir les grouper par jour en utilisant un champs contenant une valeur time() ?
Merci !