![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 813 Pomógł: 34 Dołączył: 18.03.2007 Skąd: o stamtąd Ostrzeżenie: (0%) ![]() ![]() |
Witam
Chce pozostawić jedynie niepowtarzające się rekordy w bazie. Stosuję do tego:
Niby działa dobrze ale! Zostawia najstarszy rekord... ja zaś potrzebuję by to najnowszy nie został usunięty. Możecie coś poradzić? Przy okazji jak zostawiać w bazie dla przykładu tylko 5 najnowszych rekordów? Biorąc pod uwagę, że id rekordów nie są "id+1". |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Hmm...
? -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 813 Pomógł: 34 Dołączył: 18.03.2007 Skąd: o stamtąd Ostrzeżenie: (0%) ![]() ![]() |
Cytat MySQL zwrócił komunikat: #1093 - You can't specify target table 'lp_last_read' for update in FROM clause Nie rozumiem... |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Pokaż całe Twoje zapytanie.
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 813 Pomógł: 34 Dołączył: 18.03.2007 Skąd: o stamtąd Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Spróbuj zaliasować nazwę tabeli w podzapytaniu, a jeśli to nie pomoże - to chyba pozostaje tylko tabela tymczasowa.
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 813 Pomógł: 34 Dołączył: 18.03.2007 Skąd: o stamtąd Ostrzeżenie: (0%) ![]() ![]() |
Z aliasem nie działa, ten sam błąd.
Z tabelą tymczasową chyba nie będę umiał sobie poradzić. Możesz coś zaproponować? |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 286 Pomógł: 29 Dołączył: 5.04.2007 Skąd: Rymanów Zdrój/Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
co do drugiego pytania. Jeśli id są dawane po kolei (czyli np. 1,10,14,19,20,21,23,60) z auto_increment to dajesz order by id desc limit 0,5.
Jeśli są wypełniane po usunięciu to dodać pole Data i sortować wg daty. co do pierwszego to zaraz może coś wykombinuje. -------------------- Tym ludziom zaufałem i dobrze na tym wyszedłem:
kresh Darti piotrekkr Bez nich wiele bym nie zrobił. Dzięki im za to! |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Przede wszystkim napisz coś więcej na temat tabeli lp_last_read, same nazwy pól nie wystarczą, ważne są np. index-y, autoinkrementacja, klucze podstawowe itp (najlepiej zrób dump-a). Zdefiniuj również, które to są niepowtarzające się rekordy, bo dla mnie są to takie rekordy, w których pola mają takie same wszystkie wartości. Wtedy na pewno coś poradzimy. |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 813 Pomógł: 34 Dołączył: 18.03.2007 Skąd: o stamtąd Ostrzeżenie: (0%) ![]() ![]() |
Proszę bardzo ![]() Zasada można się chyba domyśleć z poprzednich zapytań jednak napiszę. Zapytanie ma usunąć powtarzające się rekordy (czyli takie które mają taką samą wartość w kolumnie "nazwa") zostawiając jeden z najwyższym id/time (time = time()) Staram się zrobić to jednym zapytaniem ewentualnie zapytaniem i podzapytaniem i mi nie wychodzi... |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Oto rozwiązania dla problemów:
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 11:34 |