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)被使用了两次。因此,请让我知道如何根据需要获得结果。
最佳答案
尝试这个 :
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;
关于mysql - 用group by计算行数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40485337/