![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 105 Pomógł: 6 Dołączył: 7.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Jest tabela:
Przechowująca komentarze zdjęć usera [ich jest dosyć dużo 259809] Oraz druga przechowująca zdjecia usera
Problem jest taki by ułożyć zapytanie wybierające ostatnie 20 komentarzy jakie zostawili userzy do jego wszystkich zdjęć (nie jednego zdjęcia) danego usera np o U.`id_usera` = 422 Mam dzisiaj jakieś zaćmienie dlatego zwracam się o pomoc w tym zapytaniu. Ten post edytował Mion 22.11.2010, 14:43:08 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Połącz tabele po id_zdjęcia, w warunku określ o jakiego usera chodzi, posortuj po dacie (choć moim zdaniem można też po id komentarza) malejąco, wybierz pierwszych X
![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 105 Pomógł: 6 Dołączył: 7.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Takie złączenie nie daje oczekiwanych efektów, bo komentarze w wynikach nie pojawiają się ostatnie
Problem jest bardziej złożony niż na pierwszy rzut oka się wydaje zwłaszcza, że chodzi o to by wybrać po jednym ostatnim komentarzu. Ten post edytował Mion 22.11.2010, 15:13:45 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 1 Dołączył: 25.11.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Polecam inner joiny
![]() |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
To trzeba było tak pisać od razu, że mają się pojawić ostatnie wpisy dla X zdjęć. To co opisałeś jako problem mój opis rozwiązuje prawidłowo. Problemem jest to, czego nie napisałeś na starcie, a mianowicie, że ma być po jednym, ostatnim komentarzu dla X zdjęć. Krecią robotę robi Ci grupowanie. Niestety bierze ono zawsze pierwszy napotkany wynik, a Ty chcesz ostatni. Musisz więc wszystko odwrócić zanim dojdzie do grupowania. Można to zrobić na kilka sposobów, ale niestety nie obejdzie się bez podzapytania. Najprostsze rozwiązanie to tabelę komentarzy "odwrócić", a więc do zapytania JOIN posłać ją z ORDER BY id zdjęcia ustawionym na DESC. Wtedy pierwszymi napotkanymi id po grupowaniu będą te najwyższe. Nie jest to rozwiązanie idealne, ale myślę, że wystarczy Ci.
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 105 Pomógł: 6 Dołączył: 7.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
@ więc do zapytania JOIN posłać ją z ORDER BY id zdjęcia ustawionym na DESC.
Ale o ile dobrze się rozumiemy, albo i nie to co Piszesz tyczy sortowania ustawienia zdjęć, a ja potrzebuje komentarzy. Jeszcze raz opisze o co chodzi. Userzy mają swoje zdjęcia tworząc w ten sposób galerię usera które są komentowane przez innych userów i kwestia jest taka by powiedzmy w panelu konta była zakładka z ostatnimi komentarzami [po jednym ostatnim dla danego zdjęcia] globalnie ustawione malejąco przykładowe rekordy: [Z.tresc_komentarza] [ Z.data] Jakiś komentarz do zdjęcia 21 | 2010-10-22 12:26 Jakiś komentarz do zdjęcia 3 | 2010-10-22 11:26 Jakiś komentarz do zdjęcia 6 | 2010-10-21 10:26 Jakiś komentarz do zdjęcia 1 | 2010-10-20 18:36 ------- Poradziłem sobie z tym problemem takim zapytaniem: Jego wykonanie nie zalicza się do demonów prędkości, bo wykonuje się 2 - 3 sekundy, ale wyniki cachuje w memcache wiec może być ![]() Ten post edytował Mion 24.11.2010, 15:34:40 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Czyli zrobiłeś to, co napisałem
![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 105 Pomógł: 6 Dołączył: 7.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
![]() OK, dziękuję za pomoc. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 17:28 |