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/

10-11 10:23