Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> LIMIT działa z OFFSET ale bez już nie. Dlaczego?
piotrek0
post
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 23.03.2010

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


Witajcie.

Nurtuje mnie pytanie z tytułu

Jest toś w stanie wyjaśnić dlaczego tu LIMIT się udaje

  1. SELECT uzytkownik.idUzytkownika, login, haslo, pesel, aktywnoscKonta, limitZamownienia, imie, nazwisko, nazwaWojewodztwa, miasto, ulica, numerDomu, numerMieszkania, nazwaSerwisu
  2. FROM `uzytkownik`
  3. LEFT JOIN adresuzytkownika ON uzytkownik.idUzytkownika = adresuzytkownika.idUzytkownika
  4. LEFT JOIN wojewodztwa ON adresuzytkownika.wojewodztwo = wojewodztwa.idWojewodztwa
  5. LEFT JOIN serwisy ON uzytkownik.serwis = serwisy.idSerwisu
  6. ORDER BY idUzytkownika DESC
  7. LIMIT 20
  8. OFFSET 40


A tu już nie?

  1. SELECT uzytkownik.idUzytkownika, login, haslo, pesel, aktywnoscKonta, limitZamownienia, imie, nazwisko, nazwaWojewodztwa, miasto, ulica, numerDomu, numerMieszkania, nazwaSerwisu
  2. FROM `uzytkownik`
  3. LEFT JOIN adresuzytkownika ON uzytkownik.idUzytkownika = adresuzytkownika.idUzytkownika
  4. LEFT JOIN wojewodztwa ON adresuzytkownika.wojewodztwo = wojewodztwa.idWojewodztwa
  5. LEFT JOIN serwisy ON uzytkownik.serwis = serwisy.idSerwisu
  6. ORDER BY idUzytkownika DESC
  7. LIMIT 20, 40


Drugi przypadek tylko nie limituje, a phpmyadmin nie pokazuje błędów w składni.

Dzięki.

Ten post edytował piotrek0 8.07.2010, 22:35:09
Go to the top of the page
+Quote Post
Mchl
post
Post #2





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

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


phpMyAdmin lubi podmienić LIMIT z zapytania swoim własnym. Spróbuj odpalić to w konsoli albo w innym kliencie.
Go to the top of the page
+Quote Post
piotrek0
post
Post #3





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 23.03.2010

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


Rzeczywiście w SQL Buddy działa.

Dzięki, jesteś wieli (Pomógł)
Go to the top of the page
+Quote Post
cojack
post
Post #4





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

Ostrzeżenie: (20%)
X----


OFFSET po przecinku to wymysł MySQL, żaden standard, śmiać mi się chce jak czytam w manualu takie brednie:

Kod
For compatibility with PostgreSQL, MySQL also supports the LIMIT row_count  OFFSET offset syntax.


A standard SQL:2008 przewiduje offset:

Kod
OFFSET start { ROW | ROWS }
FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY


Czego natomiast nie przewiduje MySQL, no to powodzenia smile.gif A o wskaźnikach w zapytaniach to pewnie możecie sobie zapomnieć na parę dobrych lat haha.gif Jak u Was wskaźniki występują tylko w procedurach, a u nas w procedurach wskaźniki są z automatu wykorzystywane ;D No super baza biggrin.gif biggrin.gif Tak trzymać MySQL rox the house ^^

Ten post edytował thek 9.07.2010, 08:44:17
Powód edycji: [thek]: Nie wywołujmy flame'a MySQL vs standardy SQL vs PostrgeSQL ;)


--------------------
cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena
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: 19.08.2025 - 04:08