繁体   English   中英

如何识别mysql中相同列中具有相同值的行? 而且我还必须向这些行添加条件

[英]How to identify rows that have the same value in same columns in mysql? and also i have to add condition to those rows

id  bid   status   time
1   c1   close   2019.10.11
2   c2   close   2019.12.12
3   c2   open    2019.12.11
4   c3   close   2019.12.14

在这里我想同时捕获 c2 并且我必须找到时差

你可以使用exists

select t.*
from t
where exists (select 1 from t t1 where t1.bid = t.bid and t1.time <> t.time);

一种方法是join

select to.*, tc.time as close_time,
       datediff(tc.time, to.time)
from t to join
     t tc
     on to.bid = tc.bid and
        to.status = 'open' and
        tc.status = 'close';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM