Как определить строки с одинаковым значением в одинаковых столбцах в mysql? а также я должен добавить условие к этим строкам - PullRequest
0 голосов
/ 12 февраля 2020
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

здесь я хочу захватить оба с2 с, и я должен найти разницу во времени

Ответы [ 2 ]

2 голосов
/ 12 февраля 2020

Вы можете использовать exists

select t.*
from t
where exists (select 1 from t t1 where t1.bid = t.bid and t1.time <> t.time);
0 голосов
/ 12 февраля 2020

Один метод - 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';
...