Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pobranie rekordów posortowanych od danego miejsca
Mion
post
Post #1





Grupa: Zarejestrowani
Postów: 105
Pomógł: 6
Dołączył: 7.03.2005

Ostrzeżenie: (0%)
-----


Witam ponownie,

mam problem sad.gif a mianowicie chodzi o pobranie rekordów zdjęć posortowanych po ilości komentarza malejąco komentowanych np komentowane <= 22 razy i tak jest w zamieszczonym zapytaniu, ale problem jest taki by rekordy pobrać od danego id zdjęcia np U.idz = 2696 w "dół".
Mam nadzieję, że wyraziłem się zrozumiale. Dla ułatwienia zamieszczam zapytanie i rekordy:



Proszę o pomoc

Ten post edytował Mion 28.12.2009, 12:56:00
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
darko
post
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


dodaj do warunków where ... AND U.idz > 2696


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
Mion
post
Post #3





Grupa: Zarejestrowani
Postów: 105
Pomógł: 6
Dołączył: 7.03.2005

Ostrzeżenie: (0%)
-----


hehe, to się właśnie nasuwa jako piesze, ale popatrz sobie na rekordy i zastanów się jeszcze raz nad sensem Twojej odpowiedzi nie tylko do tego konkretnego przykładu, ale zasady o jaką mi chodzi ...
Widać to od razu zmieniając kryteria na AND U.komentowane <= 21 i dla idz = 2898

Ten post edytował Mion 28.12.2009, 13:37:50
Go to the top of the page
+Quote Post
darko
post
Post #4





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


(...) where (...) AND U.idz > 2696 (...) ORDER BY U.komentowane DESC, U.zdjecie_ogladano DESC, U.idz ASC LIMIT 10


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
Mion
post
Post #5





Grupa: Zarejestrowani
Postów: 105
Pomógł: 6
Dołączył: 7.03.2005

Ostrzeżenie: (0%)
-----


Nadal jesteś w błędzie:

Id zdjęcia nie może być brane wcale pod uwagę w tym zapytaniu do sortowania.

Ten post edytował Mion 28.12.2009, 13:48:36
Go to the top of the page
+Quote Post
darko
post
Post #6





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Chyba w ogóle nie dodałeś podanych przeze mnie warunków, wyniki są nadal sortowane według kolumny zdjecie_ogladano, a idz nie jest większe od 2696, ale być może nadal jestem w błędzie...

Ten post edytował darko 28.12.2009, 13:52:38


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
Mion
post
Post #7





Grupa: Zarejestrowani
Postów: 105
Pomógł: 6
Dołączył: 7.03.2005

Ostrzeżenie: (0%)
-----


@ale być może nadal jestem w błędzie...
Niestety, ale problem jest bardziej złożony
Go to the top of the page
+Quote Post
darko
post
Post #8





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat(Mion @ 28.12.2009, 13:53:50 ) *
@ale być może nadal jestem w błędzie...
Niestety, ale problem jest bardziej złożony

Może rozwiń myśl? Pokaż jak teraz wygląda Twoje zapytanie.


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
Mion
post
Post #9





Grupa: Zarejestrowani
Postów: 105
Pomógł: 6
Dołączył: 7.03.2005

Ostrzeżenie: (0%)
-----


Proszę bardzo:


I właśnie problem jest taki jak pobrać rekordy od danego idz np 16 "w dół" na tym widoku które były oceniane 4 razy malejaco...
Albo pozycję [OD] danego idz w danym sortowaniu wtedy sposiłkował bym się klauzulą LIMIT OD,ILE

Ten post edytował Mion 28.12.2009, 14:05:00
Go to the top of the page
+Quote Post
darko
post
Post #10





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


No to tak: albo sortujesz po ilości komentarzy, albo po ilości odsłon albo po wartości klucza. Po co Ci tutaj sortowanie po ilości komentarzy i tak określasz w warunkach przedział. Problemem jest tutaj sortowanie jednocześnie po ilości odsłon i wartości klucza, te dwa warunki wykluczają się nawzajem stąd ten problem. Jeśli ważniejsza jest kolejność wg wartości klucza, to wywaliłbym pozostałe warunki sortowania i zostawił:

  1. SELECT U.idz, U.komentowane, U.zdjecie_ogladano, U.zdjecie_nazwa FROM UserZdjecia U
  2. WHERE U.komentowane>=1 AND U.komentowane <=22 AND U.idz >= 2696
  3. ORDER BY U.idz ASC


// edit
Może problem ten da się rozwiązać z pomocą tabeli tymczasowej?

Ten post edytował darko 28.12.2009, 14:24:04


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
Mion
post
Post #11





Grupa: Zarejestrowani
Postów: 105
Pomógł: 6
Dołączył: 7.03.2005

Ostrzeżenie: (0%)
-----


OK dziękuję za poświęcony czas, ale Twoje odpowiedzi z AND U.idz >= 2696 nie rozwiązują problemu, a tym bardziej rezygnacja z danego sortowania...

@Może problem ten da się rozwiązać z pomocą tabeli tymczasowej?
Tak zapisywanej z procedur składowanych z dodatkową kolumną INT pozycja i idz w danym sortowaniu. Jest to ostateczne rozwiązanie jakie mam w zanadrzu...

Ten post edytował Mion 28.12.2009, 14:48:52
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 17:43