Какой код в MySQL, чтобы пройти через строки и удалить некоторые данные? - PullRequest
1 голос
/ 25 апреля 2019

Я делаю запрос, в котором извлекаю данные из BBDD с именем "tvp" с идентификатором заголовков, IDDriver, StatusActivation, DateCreation

, когда я хочу вычесть "DateCreation" с помощью "StatusActivation" 0и следующая запись «StatusActivation» 1, чтобы получить время соединения, «StatusActivation» (0 или 1) повторяется в «DateCreation» в некоторых строках

Пример на изображении (ссылка), извините, друзья, япришлось загрузить изображение со ссылкой, потому что таблица в txt никогда не создавалась.

https://ibb.co/r54PsBt

example

Это для MySQLWorkbench 8.0 CE

Здесь, скрипка: DB Fiddle

SELECT 
  ID
 ,IDDriver
 ,StatusActivation
 ,DateCreation
   FROM 
    tb_logs
WHERE 
     DateCreation between '2019-01-01 00:00:00' and '2019-01-31 00:00:00';

Я ожидаю, что выход «StatusActivation» 0 или 1, не повторяются вПоследовательность «DateCreation» и «IDDriver»

Ответы [ 2 ]

0 голосов
/ 25 апреля 2019

Вы можете использовать что-то вроде этого:

DELETE tb_logs WHERE StatusActivation=0 and ID Not in (SELECT MIN(ID) FROM tbl_logs  
WHERE StatusActivation=0 group by IDDriver )

DELETE tb_logs WHERE StatusActivation=1 and ID Not in (SELECT MAX(ID) FROM tbl_logs  
WHERE StatusActivation=1 group by IDDriver )
0 голосов
/ 25 апреля 2019

Это простой вопрос, который вы задаете. Если ваша таблица содержит id и некоторые другие уникальные столбцы, вы можете удалить данные из таблицы, используя конкретный идентификатор, как я сделал здесь.

DELETE FROM tb_logs WHERE ID IN (20,21);

Iдумаю, что ваша работа сделана из этого.

...