Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wyświetlanie określonej ilości rekordów, limit w selectie
mrm
post
Post #1





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 18.06.2005
Skąd: inąd

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


załóżmy że mamy tablicę zawierającą 10 rekordów:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |9 |10 |,
czy jest możliwe wyświetlenie 4 rekordów rozpoczynając od 9 i kończąc na 2 (czyli zeby wyswietlily sie rekordy 9,10, 1,2) za pomocą jednego selekta.


--------------------
'
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Vogel
post
Post #2





Grupa: Zarejestrowani
Postów: 402
Pomógł: 0
Dołączył: 20.01.2003

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


  1. SELECT *
  2. FROM twoja_tabela
  3. WHERE id IN (1,2,9,10)


--------------------
Go to the top of the page
+Quote Post
mrm
post
Post #3





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 18.06.2005
Skąd: inąd

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


Nie do końca o to mi chodziło...,

po pierwsze tablica zawiera 10 rekordów, ale ich id to nie jest 1,2...10 itd

po drugie ważna jest kolejność, tak aby najpierw wyświetliły się 2 ostatnie rekordy, a w następnej kolejności 2 pierwsze, oczywiście za pomocą jednego polecenia select


--------------------
'
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Tak to tylko w erze...


  1. SELECT *
  2. FROM tabela
  3. WHERE wartosc => 9 ORDER BY wartosc ASC LIMIT 2
  4.  
  5. // UNION -- skladni nie znam --> manual
  6.  
  7. SELECT *
  8. FROM tabela
  9. WHERE wartosc <= 2 ORDER BY wartosc DESC LIMIT 2


ale pewnie nie jest to optymalne rozwiazanie + przydalby sie indeks na kolumne wartosc.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Chrom
post
Post #5





Grupa: Zarejestrowani
Postów: 240
Pomógł: 17
Dołączył: 28.12.2005
Skąd: Warszawa

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


UNION jest używana do wyboru takich samych informacji z dwóch tabel, podobnie jak JOIN ale w UNION kalumny muszą by tego samego typu, UNION wybiera tylko różne wartości:
  1. SELECT nazwa_kolumny
  2. FROM nazwa_bazy
  3. UNION
  4. SELECT nazwa_kolumny
  5. FROM nazwa_2_bazy

czyli wyświetli dane z kolumn obu baz bez powtórzeń
UNION ALL wyświetli wszystkie wartości

Ten post edytował Chrom 6.02.2006, 18:12:14
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 - 14:47