Для этого можно использовать такой запрос:
WITH SupplierShipments AS (
SELECT "Номер поставщика", COUNT(*) AS ShipmentsCount
FROM SPJ
GROUP BY "Номер поставщика"
)
DELETE FROM S
USING SupplierShipments
WHERE S."Номер поставщика" = SupplierShipments."Номер поставщика"
AND ShipmentsCount = (SELECT MIN(ShipmentsCount) FROM SupplierShipments);
Этот запрос использует общую таблицу выражений (WITH), чтобы создать временную таблицу SupplierShipments, содержащую количество поставок для каждого поставщика. Затем он удаляет поставщика из таблицы S, который сделал меньше всего поставок (используя минимальное значение из временной таблицы).
Сама таблица pastebin.com/nYXi1gmH
на postgresql