оператор sql для удаления записей, более старых, чем XXX пока, существует больше, чем строки YY

Это должно быть вызвано инструментом GPG : https://gpgtools.tenderapp.com/discussions/problems/51070-gpgservices-spurious-select-key-dialog . Снимите флажок рядом с OpenPGP: Вставьте мой отпечаток пальца в Mac Системные настройки -> Клавиатура -> Ярлыки -> Система должны помочь

7
задан RiaD 9 July 2013 в 18:03
поделиться

3 ответа

Что-то вроде этого должно работать на Вас:

delete
from
  MyTable
where
  item_id in
  (
    select
      item_id
    from
      MyTable
    group by
      item_id
    having
      count(item_id) > 15
  )
  and
    Date < @tDate
6
ответ дан 7 December 2019 в 05:33
поделиться

Вы хотите сохранить по крайней мере 15 из них всегда, корректными? Так:

    DELETE
    FROM    CommentTable
    WHERE   CommentId NOT IN (
            SELECT  TOP 15 CommentId
            FROM    CommentTable
            WHERE   ItemId=@ItemId
            AND CommentDate < @Date
            ORDER BY CommentDate DESC
    )
    AND ItemId=@ItemId
    AND CommentDate < @Date
2
ответ дан 7 December 2019 в 05:33
поделиться

Это то, что Вы ищете?

DELETE
    [MyTable]
WHERE
    [item_id] = 100 and
    (SELECT COUNT(*) FROM [MyTable] WHERE [item_id] = 100) > 15

Я - парень SQL Server MS, но я думаю, что это должно работать в другом месте.

0
ответ дан 7 December 2019 в 05:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: