用group by计数行数

时间:2016-11-08 11:08:47

标签: mysql count group-by

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)使用两次。所以请告诉我如何根据需要获得结果。

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;