0
下面是我的表的DDL和数据:如何编写一个可以得到下面结果的SQL查询?
CREATE TABLE `Msg` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`session_id` bigint(20) unsigned NOT NULL,
`create_date` datetime NOT NULL,
`content` varchar(32) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1;
/*Data for the table `Msg` */
insert into `Msg`(`id`,`session_id`,`create_date`,`content`) values (1,11,'2016-10-01 20:30:34','hello 1'),(2,11,'2016-10-02 20:30:47','hello 2'),(3,11,'2016-10-11 20:31:07','hello 3'),(4,12,'2016-10-04 20:31:22','world 1'),(5,12,'2016-10-26 20:31:42','world 2'),(6,13,'2016-10-05 20:31:58','good 1'),(7,13,'2016-10-28 20:32:16','good 2'),(8,13,'2016-10-07 20:39:44','good 3');
如何获得消息的记录是:
- SESSION_ID为(12,13,14),和
- 每个会话,请选择只有一个msg记录具有最大值create_date
如示例中所示,结果应该是id为7和5的两行。