最後の 100 個のプロファイルについて、各プロファイルの最後のコメントを抽出する必要があります
type==1 の場合、各プロファイルには少なくとも 1 つのコメントがあります
- type==1 => 会社です
- type==2 => 人間です
関連するテーブルとデータは次のとおりです。
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);\
私は試した :
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
そして私は得ました:
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
クエリは、最後の 100 社ごとに最初のコメントを返します。
クエリを手伝ってください