seat_num service_key source_id destination_id
1 19229 0 60
1 19229 240 600
2 19229 0 240
3 19229 0 600
我的表数据如上所述。我想得到如下结果
Count service_key source_id destination_id
3 19229 0 60
2 19229 240 600
2 19229 0 240
3 19229 0 600
背后的逻辑是座位数的数量应该落在源和目的地的范围之间。我的问题是0到600来源和目的地,它计为4但它应该是3,因为相同的座位数(1)使用两次。所以请告诉我如何根据需要获得结果。
答案 0 :(得分:0)
试试这个:
select service_key,source_id,destination_id,count(seat_num)
from tablename
where seat_num between source_id and destination_id
group by seat_num
having count(seat_num) > 0;