#mysql #sql
Вопрос:
CREATE TABLE log_tbl
(ID int, RandomID varchar(200), EstID int, Date date, Time time);
INSERT INTO `log_tbl` (`ID`, `RandomID`, `EstID`, `Date`, `Time`) VALUES
(1,"TYS70POO7KW","3","2021-06-15","20:43:07"),
(2,"KJD86DVZ6NL","1","2021-06-15"," 18:59:42"),
(3,"ZOW10DVZ3AI","1","2022-06-12","12:17:26"),
(4,"DZB06PSA6YS","1","2021-06-17","14:54:27"),
(5,"PZA42IST5YD","3","2021-06-12","12:36:35"),
(6,"JWM21TQS8LE","3","2021-06-12","05:53:44"),
(7,"LIN78JFF5WG","2","2021-06-16","04:54:25"),
(8,"OGY65YUH7IF","2","2021-06-12","18:57:13"),
(9,"IZX04GUF5TJ","3","2021-06-12","15:35:27"),
(10,"YEL10NDQ4OV","2","2021-06-15","10:43:00"),
(11,"TYS70POO7KW","2","2021-06-17","20:43:07"),
(12,"KJD86DVZ6NL","2","2021-06-17","18:59:42"),
(13,"ZOW10DVZ3AI","3","2022-06-17","12:17:26"),
(14,"DZB06PSA6YS","2","2021-06-16","14:54:27"),
(15,"PZA42IST5YD","1","2021-06-12","12:36:35"),
(16,"JWM21TQS8LE","2","2021-06-12","05:53:44"),
(17,"LIN78JFF5WG","3","2021-06-13","04:54:25"),
(18,"OGY65YUH7IF","3","2021-06-13","18:57:13"),
(19,"IZX04GUF5TJ","1","2021-06-12","15:35:27"),
(20,"YEL10NDQ4OV","1","2021-06-12","10:43:00"),
(21,"TYS70POO7KW","1","2021-06-17","20:43:07"),
(22,"KJD86DVZ6NL","2","2021-06-17","18:59:42"),
(23,"ZOW10DVZ3AI","3","2022-06-17","12:17:26"),
(24,"DZB06PSA6YS","2","2021-06-17","14:54:27"),
(25,"PZA42IST5YD","2","2021-06-12","12:36:35"),
(26,"JWM21TQS8LE","2","2021-06-12","05:53:44"),
(27,"LIN78JFF5WG","3","2021-06-14","04:54:25"),
(28,"OGY65YUH7IF","1","2021-06-14","18:57:13"),
(29,"IZX04GUF5TJ","1","2021-06-14","15:35:27"),
(30,"YEL10NDQ4OV","3","2021-06-16","10:43:00");
Из приведенной выше таблицы я хочу найти определенного пользователя( RandomID
) и показать всех других пользователей, у которых было то же EstID
самое на ту же дату.
Мне также нужно сузить результат, показав только 2 часа до и после RandomID
регистрации.
Ответ №1:
Вы можете использовать in
с кортежами:
select l.*
from log_tbl l
where (l.est_id, l.date) in (select l2.est_id, l2.date
from log_tbl l2
where l2.randomid = ?
);
Комментарии:
1. Который
?
вы должны заменить наRandomID
тот, который вам нужно найти. И какую версию MariaDB вы используете?2. 10.4.19, но сейчас все в порядке. я перепутал синтаксис. но мне снова нужна помощь, чтобы сузить результат до 2 часов до и после, но все равно до той же даты,
3. Вы должны опубликовать новый вопрос @SplitStream. Этот вопрос уже считается решенным. С новым вопросом у вас будет больше шансов привлечь внимание.