![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 306 Pomógł: 32 Dołączył: 20.01.2008 Ostrzeżenie: (20%) ![]() ![]() |
Witam,
w jednym zapytaniu potrzebuję pobrać kilka ostatnich wiadomości z bazy danych. Struktura jest dość normalna, czyli: ID, ID_Odbiorcy, ID_Wysylajacego, Data, Typ, Tresc, ID_Konwersacji. Problem w tym, że wiadomości mogą mieć zarówno nadany ID_Konwersacji jak i nie. W przypadku gdy jest nadany ten indeks (który może się powtarzać), chcę pobrać tylko OSTATNIĄ wiadomość (czyli z najwyższym ID) z takim ID_Konwersacji, a resztę wiadomości (bez ID_Konwersacji) pobieram normalnie. Czy coś takiego jest do zrobienia bez dużej utraty wydajności zapytania? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 311 Pomógł: 25 Dołączył: 29.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
po 1 pobierasz z bazy 5 ostatnich id a nastepnie w tym sprawdzasz czy takie cos istnieje
o to ci chodzi (IMG:style_emoticons/default/questionmark.gif) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 306 Pomógł: 32 Dołączył: 20.01.2008 Ostrzeżenie: (20%) ![]() ![]() |
po 1 pobierasz z bazy 5 ostatnich id a nastepnie w tym sprawdzasz czy takie cos istnieje
o to ci chodzi (IMG:style_emoticons/default/questionmark.gif) Zapytania w pętli? Nie dziękuje, to się źle skończy (IMG:style_emoticons/default/smile.gif) Chcę, aby było jak najmniej zapytań, i tak żebym minimalnie musiał zmieniać główne, żeby nie rozwalić stronicowania, ani nie mieć takich sytuacji, że pobieram 20 wiadomości, ale wyświetlę tylko 10 bo niektóre odrzuce. Jeżeli dobrze rozumuję, to powinieneś osiągnąć to za pomocą ORDER BY i GROUP. Problem w tym, jak to pogodzić w jednym zapytaniu? Ten post edytował smietek 21.06.2012, 22:27:50 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.10.2025 - 13:14 |