目录
0 场景描述
1 数据准备
2 问题分析
方法1:利用lag()及lead()分析函数求解
方法2:转换成字符串序列进行分析
方法3:自关联求解
3 小结
0 场景描述
影院座位预定表 T_SEATS 记录了当前座位的预定情况。如有2个人去影院看演唱会,需满足位置紧邻且至少其中一人靠过道(同一排最左或最右的座位靠过道)的座位组合,结果集按开始座位号从小到大排序。座位示意图如下:
sql">CREATE TABLE `t_seats` (`id` int unsigned NOT NULL AUTO_INCREMENT,`row_no` int DEFAULT NULL COMMENT '第几排',`seat` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '座位',`status` int NOT NULL COMMENT '预定状态 0-未预定 1-已预定',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8