Jak usunąć tylko kilka wierszy w postgreSQL? Chcę pobrać 10 wierszy do usunięcia w podzapytaniu.PostgreSQL DELETE FROM (WYBIERZ * Z tabeli TYLKO 10 TYPÓW FETCH)
Moja tabela
Jak usunąć tylko kilka wierszy w postgreSQL? Chcę pobrać 10 wierszy do usunięcia w podzapytaniu.PostgreSQL DELETE FROM (WYBIERZ * Z tabeli TYLKO 10 TYPÓW FETCH)
Moja tabela
Musisz użyć WHERE warunek jak na swoje wymagania tak:
delete from mytable where id in(1,2,3,4,5,6,7,8,9,10)
lub
delete from mytable where id in(select id from mytable where someconditon)
lub można spróbować w ten sposób jeśli chcesz usunąć pierwszą dziesiątkę, używając ctid:
DELETE FROM mytable
WHERE ctid IN (
SELECT ctid
FROM mytable
GROUP BY s.serialId, s.valuetimestamp
ORDER BY s.serialId
LIMIT 10
)
Jeśli szukasz usunąć duplikaty z tabeli, a następnie spróbuj tego:
DELETE FROM mytable
WHERE ctid NOT IN
(SELECT MAX(s.ctid)
FROM table s
GROUP BY s.serialId, s.valuetimestamp);
Jeśli masz jakieś unikalny identyfikator (szeregowego, nazwijmy to „id”) w tabeli, a następnie po prostu zrobić coś takiego:
DELETE FROM table WHERE table.id IN (SELECT table.id FROM table WHERE *whatever*)
Dodaj lub nie coś takiego jak "limit 0,10"
Mam tylko ten sam identyfikator SerialId i valuetimestamp. Proszę, przyjrzyjcie się mojemu screendumpowi, który dodałem – ArthurDatur
mam tylko ten sam SerialId A nd valueetimestamp's. Zobacz moje zdjęcie, które dodałem. – ArthurDatur
@ArthurDatur: - Chcesz usunąć duplikaty? –
Nie, chcę usunąć połowę postów LIMIT 10 (z 20) bu w rzeczywistości to tysiące wierszy Nie ma duplikatów – ArthurDatur