Объединение SQL запросов SELECT in DELETE

Тема в разделе "Базы данных", создана пользователем Ser Frood, 16 окт 2012.

Модераторы: latteo
  1. Ser Frood

    Ser Frood Заблокирован

    Регистр.:
    12 дек 2006
    Сообщения:
    519
    Симпатии:
    384
    Здравствуйте, после долго (год) отсутвия в сети инет стал нубом :D Решаю навёрстывать упущенное) Итак собственно требуется мелоч!
    Необходимо сначало отсортировать таблицу, а потом удалить)

    SELECT * FROM `tw` ORDER BY `sig` DESC
    а потом удалить все дубликаты по ячейке MC , оставляя только первый вариант после сортировки.

    Всем пасибо...
     
  2. stealthdebuger

    stealthdebuger Механик

    Administrator
    Регистр.:
    25 авг 2008
    Сообщения:
    634
    Симпатии:
    1.407
    Как-то так
    Код:
    DELETE FROM `tw` WHERE `id` NOT IN (SELECT DISTINCT `id` FROM `tw` GROUP BY `sig`)
     
    latteo нравится это.
  3. Ser Frood

    Ser Frood Заблокирован

    Регистр.:
    12 дек 2006
    Сообщения:
    519
    Симпатии:
    384
    You can't specify target table 'tw' for update in FROM clause =/
     
  4. ant0ni0

    ant0ni0 Писатель

    Регистр.:
    24 июл 2012
    Сообщения:
    9
    Симпатии:
    2
    ну как-то так нужно
    Код:
    delete from 'tw' aa
    where exists(select * from 'tw' bb where aa.mc=bb.mc and aa.sig < bb.sig)