LolikZabójca Opublikowano 21 Grudnia 2020 Udostępnij Opublikowano 21 Grudnia 2020 Tak wygląda tabela ze zdjęcia w Prestashop. Chciałbym napisać kwerendę która usunie ostatnie zdjęcie(czyli najwyższą wartość position) dla każdego produktu(czyli dal każdego id_product). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
cysior Opublikowano 22 Grudnia 2020 Udostępnij Opublikowano 22 Grudnia 2020 DELETE i1 FROM Images as i1 WHERE not exists ( SELECT * from Images as i2 WHERE i2.ProductId = i1.ProductId AND i2.Position > i1.Position ) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 23 Grudnia 2020 Administratorzy Udostępnij Opublikowano 23 Grudnia 2020 Ewntualnie coś w stylu (ale spróbuj to na kopii, zacznij od samego selecta, czy jest dobry) DELETE FROM images WHERE image_id IN ( SELECT * FROM (SELECT image_id FROM images ORDER BY id_image GROUP BY id_product LIMIT 0,10000000) AS p); Limit trzeba dodać dla nowszych SQLi i MariaDB, bo jakiś tam config bazy (już nie pamiętam) pomija sortowanie przy group by, a z limitem je uwzględnia Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
adam014 Opublikowano 24 Grudnia 2020 Udostępnij Opublikowano 24 Grudnia 2020 Ja bym skorzystał z SELECT MAX(position) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się