sql如何查找公交用户中的od用户(即经常往返于固定的两站之间)

user表中有用户一个月的地铁消费记录,要找出其中的OD用户(比如上下班,往返于固定的两站之间,次数要超过10次的),怎么写sql,求高手指点!!(字段:id,start... user表中有用户一个月的地铁消费记录,要找出其中的OD用户(比如上下班,往返于固定的两站之间,次数要超过10次的),怎么写sql,求高手指点!!(字段:id,start_station,stop_station) 展开
 我来答
SQL的艺术
2018-05-17 · SQL写多了就会在追求极致
SQL的艺术
采纳数:2040 获赞数:3322

向TA提问 私信TA
展开全部
select 
    id,start_station,stop_station,count(0) as 往返次数 
from 
    user 
group by 
    id,start_station,stop_station
having
    count(0)>10
追问

谢谢你!但是这逻辑有个问题:如图,id为2的用户记录数是>3的,但是并不是往返次数>3,我想要的是:用户从A到B,又从B到A,视为1次往返,往返次数>3的。还请再指教,感谢!!

追答
select 
    a.id,a.start_station,a.stop_station,count(0)/2 as 往返次数 
from 
    user a
    inner join b on a.id=b.id and a.start_station=b.stop_station and a.stop_station=b.start_station
group by 
    a.id,a.start_station,a.stop_station
having
    count(0)>6
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式