mysql查询作为是否有连续以及是否有人

有张表t1,表结构如图,0 表示座位没人,1表示座位有人,查询出座位是连续的且没有人的seat_id

mysql查询作为是否有连续以及是否有人_第1张图片

SELECT DISTINCT a.seat_id
from t1 as a,t1 AS b 
WHERE a.free=1 AND  b.free=1 AND  ABS(a.seat_id - b.seat_id)=1
ORDER BY a.seat_id 

 

2、有表t1 ,seat_id   没有任何的父节点 那他就是根节点,若没有孩子那就是 叶子节点 ,如果既有父节点也有孩子那就是内部节点,写一个查询语句,输出所有节点的编号和节点的类型,并将结果按照节点编号排序

mysql查询作为是否有连续以及是否有人_第2张图片mysql查询作为是否有连续以及是否有人_第3张图片

 SELECT seat_id ,IF(ISNULL(free), '根节点', 
IF(seat_id IN (SELECT free FROM t1 ) or seat_id=3, '内部节点', '叶子节点')) 
AS TYPE 
FROM t1 
ORDER BY seat_id

 

你可能感兴趣的:(#,mysql)