Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pobranie rekordu z mysql
Forum PHP.pl > Forum > Bazy danych > MySQL
regis87
Witam!
Jak Waszym zdaniem najprosciej zrobic skrypt, ktory bedzie wedlug okreslonego zapytania mysql pobieral z bazy tylko i wylacznie drugi w kolejnosci rekord? Tzn. mam np. tabele:

id, opis
1,'jeden'
2,'dwa'
3,'trzy'
4,'cztery'
5,'piec'

Pobieram:
[sql:1:5299848fd7]SELECT * FROM tabela ORDER BY id DESC[/sql:1:5299848fd7]

To mi pobierze wszystkie rekordy. Ale ja potrzebuje tylko drugiego rekordu ktory zwroci to query, w tym wypadku 4,'cztery'. Jak zatem zrobic to najprosciej? Moge zapisac wszystko co zwroci mysql do Array'a, no i korzystac tylko z $tab[1], ale to mi niepotrzebnie wydluzy czas ladowania skryptu i tak dalej. Prosze o pomoc.
rachwal
[sql:1:f2bb98f14b]SELECT * FROM tabela ORDER BY cos LIMIT 1,1;[/sql:1:f2bb98f14b]

i to tyle.
regis87
Az mi glupio, ze o tym nie pomyslalem:)

Dziekuje za pomoc, pozdrawiam
regis87
A teraz mam troche bardziej (moim zdaniem:) zlozony problem - mam rekordy w tabeli:
id,grupa
1,4
2,3
3,2
4,4
5,3
6,4


Teraz chcialbym, zebym posylajac id rekordu, ktoru nalezy do grupy 4 (ma wartosc pola grupa=4), np 1, otrzymal od skryptu id kolejnego rekordu w tabeli posiadajacego taka sama grupe przy sortowaniu ORDER BY id ASC, w tym wypadku jest to rekord o id 4. A jak zrobic cos takiego?

pozdrawiam
adwol
Cytat
A teraz mam troche bardziej (moim zdaniem:) zlozony problem

[sql:1:8002aa64ff]select id from tabela where grupa=4 and id>1 order by id limit 1[/sql:1:8002aa64ff]
W miejsce 1 i 4 wstaw sobie odpowiednie wartości id i grupy.
regis87
Bardzo dziekuje, a teraz ostatnie juz (mam nadzieje) pytanie w tym temacie: czy operator ">" moge uzywac rowniez dla wartosci tekstowych, np. w tabeli jak ponizej:

id,grupa,nazwisko
1,4,'andrzejewski'
2,3,'lutoslawski'
3,4,'orlowski'
4,2,'rudzinski'
5,1,'bialolecki'
6,4,'dlugolecki'

i chcialbym aby zwrocilo mi wartosc pola id z grupa=4 i nastepnego w kolejnosci po tym, ktorego id podaje, przy sortowaniu wedlug pola nazwisko - czyli alfabetycznie? Czy przy zapisie
[sql:1:e9b3a61f12]SELECT id
FROM tabela
WHERE grupa=4 AND nazwisko>'andrzejewski'
ORDER BY nazwisko ASC
LIMIT 1[/sql:1:e9b3a61f12] mysql zwroci mi rekord 6,4,'dlugolecki', czy tez nie mozna uzywac '>' do porownywania 'miejsca' w kolejce dla wartosci tekstowych?
Mam nadzieje ze wylozylem problem dosc jasno:)

pozdrawiam i dziekuje za pomoc
regis87
Nie wierze, zeby nikt nie potrafil mi pomoc...

pozdrawiam
PMadej
Cytat
Nie wierze, zeby nikt nie potrafil mi pomoc...

pozdrawiam

nie jestes pepkiem swiata zeby ludzie ci od razu odpowiadali ... poczekaj a bedzie odpowiedz ... lub nie
regis87
Przepraszam bardzo jezeli urazilem:)
adwol
Cytat
czy operator ">" moge uzywac rowniez dla wartosci tekstowych

Tak, aczkolwiek musisz pamiętać, że wtedy jest to sortowane leksykalnie czyli jeśli wystąpią w tekscie cyfry to zostaną one potraktowane jak zwykłe znaki, co spowoduje, że np. 2 będzie większe od 12
Cytat
chcialbym aby zwrocilo mi wartosc pola id z grupa=4 i nastepnego w kolejnosci po tym, ktorego id podaje, przy sortowaniu wedlug pola nazwisko - czyli alfabetycznie? Czy przy zapisie
[sql:1:e50e342d77]SELECT id
FROM tabela
WHERE grupa=4 AND nazwisko>'andrzejewski'
ORDER BY nazwisko ASC
LIMIT 1[/sql:1:e50e342d77] mysql zwroci mi rekord 6,4,'dlugolecki'

Tak.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.