Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Utworzenie zapytania z kilkoma ORDER BY i grupowaniem


Przejdź do rozwiązania Rozwiązane przez teez,

Rekomendowane odpowiedzi

                $this->DB->build( array(
                                        'select'    => 'ss.*',
                                        'from'    => array( 'servers_stats' => 'ss' ),
                                        'group'    => 'ss.server_id',
                                        'where' => 's.premium=1',
                                        'order' => 'ss.id DESC, s.premium_war DESC',
                                        'add_join'    => array(
                                                            array(
                                                                  'select'    => 's.*',
                                                                  'from'    => array( 'servers' => 's' ),
                                                                  'where'    => 's.id=ss.server_id',
                                                                  'type'    => 'left',
                                                                  ),
                                                            array(
                                                                  'select'    => 'p.*',
                                                                  'from'    => array( 'servers_premium' => 'p' ),
                                                                  'where'    => 's.id=p.server_id',
                                                                  'type'    => 'left',
                                                                  ),
                                                                  )
                                                                  )    );
                $this->DB->execute();

Co chcę osiągnąć?

 

Grupowanie według:

 

servers_stats -> server_id

 

Sortowanie według:

 

servers -> premium_warp

 

Pobranie wyników z grupowania ( ostatnich wyników )

 

 

 

Za nic nie chce mi pobrać ostatniego zgrupowanego wyniku, czyli np.

 

ID      Nazwa    server_id    Liczba

1       cos         1                 2

2      cos22     1                3

 

I chcę pobrać tą ostatnią liczbę ( 3 ) dla danego server_id.

Znajdziesz mnie na LinkedIn

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Tak spróbuj:

                $this->DB->build( array(
                                        'select'    => 'ss.*',
                                        'from'    => array( 'servers_stats' => 'ss' ),
                                        'group'    => 'ss.server_id',
                                        'where' => 's.premium=1',
                                        'order' => 'ss.id DESC, s.premium_war DESC',
                                        'add_join'    => array(
                                                            0 => array(
                                                                  'select'    => 's.*',
                                                                  'from'    => array( 'servers' => 's' ),
                                                                  'where'    => 's.id=ss.server_id',
                                                                  'type'    => 'left',
                                                                  ),
                                                            1 => array(
                                                                  'select'    => 'p.*',
                                                                  'from'    => array( 'servers_premium' => 'p' ),
                                                                  'where'    => 's.id=p.server_id',
                                                                  'type'    => 'left',
                                                                  ),
                                                                  )
                                                                  )    );


			
		

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Mam wrażenie, że też coś podobnego szukałem i skończyło się na innym rozwiązaniu. Jak sobie je przypomnę to napiszę.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Rozwiązanie

Chyba obejdę to tak, że dodam kolejne pola w servers ( players/slots/map ) i tutaj będę to aktualizował, a tamto pobiorę osobno. Minus taki, że przy 2000-3000 rekordach to trochę potrwa.

Edytowane przez teez

Znajdziesz mnie na LinkedIn

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.