Выберите все повторяющиеся записи, кроме минимума - PullRequest
0 голосов
/ 25 мая 2018

У меня есть таблица в MySQL с именем как показано ниже

enter image description here
У меня есть две вещи для обработки

1- Деактивировать все книги, которыене используются

isActive = 1 - Active
isActive = 0  - Inactive

is_inuse = 1 - in use
is_inuse = 0 - not in use
I have the query as such 

.,.

update books 
set is_active=0 
where book_name in (select (book_name) 
                    from books  
                    group by book_name 
                    having count(1) >1
                   ) and 
      is_inuse != 1;

2 -Переименуйте все дубликаты книг, кроме той, у которой минимальный идентификатор книги, добавьте book_id перед названием книги.изо всех сил пытается сделать запрос для этого случая.

1 Ответ

0 голосов
/ 25 мая 2018

Вы сможете получить список дубликатов названий книг, используя приведенный ниже SQL

select t1.book_id, t1.book_name, concat(t1.book_id, t1.book_name) as new_name 
from table1 t1,
(
select book_name, min(book_id) as book_id from table1
group by book_name
) t2
where t1.book_name = t2.book_name
and t1.book_id != t2.book_id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...