- 17, May 2024
- #1
Привет,
Я хочу удалить только повторяющиеся записи, принадлежащие офису.
Должен оставаться одним из величайших ID. Повторные телефоны с разными оффицеидами должны остаться.
Телефонный столик:
идентификатор офисаИдентификатор телефона
-----------------------
1 10 111
2 11 222
3 11 222
4 12 111
5 13 444
6 14 555
7 14 555
Ниже приведен запрос, который удаляет все повторяющиеся телефоны без соблюдения условия offiseId.
. Буду признателен, если кто-нибудь поможет. Спасибо.
Должен оставаться одним из величайших ID. Повторные телефоны с разными оффицеидами должны остаться.
Телефонный столик:
идентификатор офисаИдентификатор телефона
-----------------------
1 10 111
2 11 222
3 11 222
4 12 111
5 13 444
6 14 555
7 14 555
Ниже приведен запрос, который удаляет все повторяющиеся телефоны без соблюдения условия offiseId.
delete phones
from phones
inner join (
select max(id) as lastId, phone
from phones
group by phone
having count(*) > 1) duplic on duplic.phone = phones.phone
where phones.id < duplic.lastId
;
Код (разметка): Например, после выполнения запроса в таблице должны быть удалены записи с идентификаторами 2 и 6, телефоны 222 и 555. Однако должны остаться телефоны с идентификаторами 1 и 4 с телефонами 111 и 111, поскольку у них разные офисные идентификаторы.
. Буду признателен, если кто-нибудь поможет. Спасибо.