i need to extract the last comment for each profile, for the last 100 profiles
each profile, if type==1, has at least 1 comment
- type==1 => is company
- type==2 => is human
Here are the relevant tables and data:
CREATE TABLE IF NOT EXISTS `comment` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`profile` int(11) NOT NULL,
`name` varchar(200) NOT NULL,
`email` varchar(200) NOT NULL,
`county` int(11) NOT NULL,
`comment` text NOT NULL,
`created` int(11) NOT NULL,
`status` int(11) NOT NULL,
`verified` int(11) NOT NULL,
UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
INSERT INTO `comment` (`id`, `profile`, `name`, `email`, `county`, `comment`, `created`, `status`, `verified`) VALUES
(1, 1, 'ANGAJAT 1', 'email 2', 1, 'comm 1', 1335423985, 0, 0),
(2, 3, 'ANGAJAT 2', 'email 4', 1, 'comm 2', 1335424011, 0, 0),
(3, 5, 'ANGAJAT 3', 'email 6', 1, 'comm 3', 1335424037, 0, 0),
(4, 5, 'ANGAJAT 3', 'email 6', 1, 'comm 4', 1335424039, 0, 0);
CREATE TABLE IF NOT EXISTS `profile` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`type` int(11) NOT NULL COMMENT '1 = angajatori ; 2 - angajati',
`name` varchar(200) NOT NULL,
`county` int(11) NOT NULL,
`email` varchar(200) NOT NULL,
`created` int(11) NOT NULL,
`comments` int(11) NOT NULL,
`status` int(11) NOT NULL,
`verified` int(11) NOT NULL,
UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;
INSERT INTO `profile` (`id`, `type`, `name`, `county`, `email`, `created`, `comments`, `status`, `verified`) VALUES
(1, 1, 'ANGAJATOR 1', 1, 'email 1', 1335423985, 0, 0, 0),
(2, 2, 'ANGAJAT 1', 1, 'email 2', 1335423985, 0, 0, 0),
(3, 1, 'ANGAJATOR 2', 1, 'email 3', 1335424011, 0, 0, 0),
(4, 2, 'ANGAJAT 2', 1, 'email 4', 1335424011, 0, 0, 0),
(5, 1, 'ANGAJATOR 3', 1, 'email 5', 1335424037, 0, 0, 0),
(6, 2, 'ANGAJAT 3', 1, 'email 6', 1335424037, 0, 0, 0);\
I tried :
SELECT *
FROM COMMENT c
JOIN profile p ON p.id = c.profile
GROUP BY c.profile
ORDER BY c.created DESC , p.id ASC
LIMIT 100
and I got :
id profile name email county comment created status verified id type name county email created comments status verified
3 5 ANGAJAT 3 email 6 1 comm 3 1335424037 0 0 5 1 ANGAJATOR 3 1 email 5 1335424037 0 0 0
2 3 ANGAJAT 2 email 4 1 comm 2 1335424011 0 0 3 1 ANGAJATOR 2 1 email 3 1335424011 0 0 0
1 1 ANGAJAT 1 email 2 1 comm 1 1335423985 0 0 1 1 ANGAJATOR 1 1 email 1 1335423985 0 0 0
the query returns the first comment for the each 100 last companies
pls help with query
Try this:
It should do the trick.